1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int n,r,a[30],v[30]; void dfs(int k) { if(k==r+1) { for(int i=1;i<r;i++) printf("%d ",a[i]); printf("%d\n",a[r]); } else { for(int i=a[k-1]+1;i<=n;i++) if(v[i]==0) { a[k]=i; v[i]=1; dfs(k+1); a[k]=0; v[i]=0; } } } int main() { scanf("%d%d",&n,&r); memset(v,0,sizeof(v)); dfs(1); return 0; }#include<bits/stdc++.h> using namespace std; int n,r,a[30]; void dfs(int k) { if(k==r+1) { for(int i=1;i<r;i++) printf("%d ",a[i]); printf("%d\n",a[r]); } else { for(int i=a[k-1]+1;i<=n;i++) { a[k]=i; dfs(k+1); a[k]=0; } } } int main() { scanf("%d%d",&n,&r); a[0]=0; dfs(1); return 0; }
- 1
信息
- ID
- 45
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 513
- 已通过
- 137
- 上传者