- C++
信奥下午---递归第三次练习
- 2024-6-15 14:10:10 @
2 条评论
-
mrhowe SU @ 2024-6-15 15:33:25
-
2024-6-15 15:29:02@
#include<bits/stdc++.h> using namespace std; int n,m;// 要选几个球 int s[10000] ,ans[10]; int a[10]={0}; void dfs(int k){ for(int i = 1;i<=m;i++){ if(a[i]==0 && s[i]>ans[k-1]){ a[i]=1; ans[k] = s[i]; if(k==n){ for(int j=1;j<=n;j++)printf("%d ",ans[j]); printf("\n"); }else dfs(k+1); // 回溯 a[i] = 0; } } return; } int main(){ cin>>m>>n; for(int i=1;i<=m;i++)s[i]=i; dfs(1); return 0; }
- 1