本蒟蒻本地是对的,锣鼓0分
查看原帖
本蒟蒻本地是对的,锣鼓0分
565294
Passerby_X楼主2021/12/19 10:40
#include <bits/stdc++.h>
using namespace std;
int n,book[10005],a[10005],flag,m;

void dfs(int step)
{
	if(step==n+1)
	{
		flag++;
		if(flag==m+1)
		{
			for(int i=1;i<=n;i++)
				cout<<a[i]<<' ';
			exit(1);
		}
	}
	
	for(int i=1;i<=n;i++)
	{
		if(flag==0)
			i=a[step];
		if(book[i]==0)
		{
			book[i]=1;
			a[step]=i;
			dfs(step+1);
			book[i]=0;
		}
	}
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	dfs(1);
	return 0;
}
2021/12/19 10:40
加载中...