三十分求调
查看原帖
三十分求调
1260108
yangshihuanhhh楼主2024/8/11 18:41
#include<bits/stdc++.h>
using namespace std;
int ans;
int box[100009],a[100009]; 
int n,k;
int v[100009];
void dfs(int step){//剩下的数和还要分的次数
	if(step==n){
		if(ans==k){
			for(int i=0;i<n;i++){
                printf("%d ",box[i]);
			}
			exit(0);
		}
		ans++;
		return ;
	}
	
	for(int i=1;i<=n;i++){
		if(v[i]==0){
			box[step]=a[i];
			v[i]=1;
			dfs(step+1);
			v[i]=0;
		}
		
	}
	return ;
}
int main(){
	scanf("%d",&n);
    scanf("%d",&k);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	dfs(0);
	return 0;
} 
2024/8/11 18:41
加载中...