N的R排列

版权声明:本文为博主原创文章,未经博主允许必须转载。 https://blog.csdn.net/qq_35950004/article/details/83503879
#include<cstdio>
bool vis[30];
int n,r,arr[30];

void dfs(int now)
{
	if(now == r+1){ for(int i=1;i<=r;i++) printf("%d ",arr[i]);return void(puts("")); }
	for(int i=1;i<=n;i++)
		if(!vis[i])
		{
			vis[i] = 1;
			arr[now]=i,dfs(now+1);
			vis[i] = 0;
		}
}

int main()
{
	scanf("%d%d",&n,&r);
	dfs(1);
}

猜你喜欢

转载自blog.csdn.net/qq_35950004/article/details/83503879
今日推荐