题解 | 小红的不动点构造
小红的不动点构造
https://www.nowcoder.com/practice/c075b59aed8e4becaa8a0d6f9715d80e
#include <bits/stdc++.h>
using namespace std;
int main() {
int n,k,flag=0;
cin>>n>>k;
vector<int>a(n);
for(int i=0;i<n;i++){
a[i]=i+1;
}
do{
int x=0;
for(int i=0;i<n;i++){
if(a[i]==i+1)x++;
}
if(x==k){
flag=1;
for(int i=0;i<n;i++){
cout<<a[i]<<" ";
}
cout<<endl;
break;
}
}while(next_permutation(a.begin(),a.end()));
if(flag==0)cout<<-1<<endl;
return 0;
}
// 64 位输出请用 printf("%lld")
