全RE求助
查看原帖
全RE求助
1042772
duanyunqing0829楼主2024/1/23 21:26
#include<bits/stdc++.h>

using namespace std;

int n,m;

int cnt;

int a[10010],arr[10010];

int book[110];

void dfs(int x)

{

	if(x==n+1)
    
	{
    
		cnt++;
        
		if(cnt==m+1)
        
		{
        
			for(int i=1;i<=n;i++)
            
			{
            
				cout<<a[i]<<" ";
                
			}
            
			exit(1); 
            
		}
	}
	for(int i=1;i<=n;i++)
    
	{
    
		if(cnt==0) i=arr[x];
        
		if(book[i]==0)
        
		{
        
			book[i]=1;
            
			a[x]=i;
            
			dfs(x+1);
            
			book[i]=0;
            
		}
        
	}
    
}

int main()

{

	cin>>n>>m;
    
	for(int i=1;i<=n;i++)
    
	{
    
		cin>>arr[i];
        
	}
    
	dfs(1);
    
	return 0;
    
}


2024/1/23 21:26
加载中...