SpringBoot中的对象属性拷贝及MD5加密

时间:2024-02-15 16:53:24
蓝桥杯 ALGO-1005 数字游戏

摘希OvO: 你好,关于这道题刚好我的想法和你一模一样,但是再定义数字组容器时,我图省事,定义为vector<int> arr(n+1,0);然后初始化赋值for(int i=1;i<=n;i++) { start_in[i]=i; },后面的也依次的有所不同,像这样:[code=cpp] #include <iostream> #include <vector> #include <algorithm> using namespace std; int n; int sum; bool test(vector<int> a) { //测试排列a是否符合条件 for(int j=1;j<n;j++) { for(int i=1;i<=n-j;i++) { a[i]+=a[i+1]; } } if(a[1]==sum) return true; else return false; } int main() { scanf("%d",&n); scanf("%d",&sum); vector<int> start_in(n+1,0); for(int i=1;i<=n;i++) { start_in[i]=i; } do { if(test(start_in)) { for(int i=1;i<=n;i++) { printf("%d ",start_in[i]); } break; } }while(next_permutation(start_in.begin(),start_in.end())); return 0; } [/code] 咱们的代码基本一摸一样,可是再蓝桥官网只有90分,我改了数组,像你一样的定义空间,n个大小,而非n+1个就跑了满分。我想问:为什么只是改了个数组空间就满分了,这个空间只差了一个,而且多出来的这个int大小的空间,也不涉及运算为什么呢?求解答。