为什么不对啊,求大佬帮助

P1157 组合的输出

修改后的代码: ```cpp #include<iostream> #include<cstdio> #include<iomanip> #include<cstring> using namespace std; int n,k,x,a[25],i=1,d; void print(){ for (int i=1;i<=k;i++) printf ("%3d",a[i]); printf ("\n"); } void dfs(){ if (x>k||d==n){print();i--;return;} if (x<=k&&d==n)return; for (i=1;i+d<=n;){ a[x++]=d; d+=i; dfs(); x--; d-=i; if (d!=n)i++; } } int main(void){ cin>>n>>k; for (int j=1;j<=n-k;j++){ x=1; d=j; dfs(); } } ```
by yltx @ 2017-08-31 18:21:42


只有10分
by yltx @ 2017-08-31 18:22:02


|