请问这题的输出顺序是什么?

P1473 [USACO2.3] 零的数列 Zero Sum

空格最小,其次加号,其次减号
by __stick @ 2022-09-29 21:19:08


@[YuRuochen](/user/658786) 你还可以输出值看一下,比如这样: ```cpp printf("%d %d %d",' ','+','-'); ``` 然后输出: 32 43 45
by __stick @ 2022-09-29 21:20:18


```cpp #include<bits/stdc++.h> using namespace std; int n,a[10]; char f(int k){ if(k==1) return ' '; else if(k==2) return '+'; else return '-';//这样 } bool check(){ int k=1,s=0,sum=0; for(int i=1;i<=n;i++){ s=s*10+i; if(a[i]==2){ sum+=s*k; s=0; k=1; }else if(a[i]==3){ sum+=s*k; s=0; k=-1; } } sum+=s*k; return !sum; } void dfs(int now){ if(now==n){ if(check()){ for(int i=1;i<n;i++) printf("%d%c",i,f(a[i])); printf("%d\n",n); } return; } for(int i=1;i<=3;i++){ a[now]=i; dfs(now+1); } } int main(){ scanf("%d",&n); dfs(1); return 0; } ```
by AirQwQ @ 2022-09-29 21:26:19


|