P1157 组合的输出

题目链接

P1157 组合的输出

题解

#include<bits/stdc++.h>
using namespace std;
int n, r;
int ans[25];
int vis[25];
void dfs(int dep){
	if(dep==r+1){
		for(int i=1; i<dep; i++)cout<< setw(3)<<ans[i];
		cout<<endl;
	}
	for(int i=ans[dep-1]+1; i<=n; i++){
		if(!vis[i]){
			ans[dep]=i;
			vis[i]=1;
			dfs(dep+1);
			vis[i]=0;
		}
	}
} 
int main()
{
	cin>>n>>r;
	dfs(1);

	return 0;
}

posted @ 2023-03-19 10:12  TFLSNOI  阅读(18)  评论(0编辑  收藏  举报