全排列一题
luoguP1706
#include<bits/stdc++.h>
using namespace std;
const int N = 1000005;
int n;
int f[N] = {0},data[N] = {0};
void print(){
for(int i=0;i<n;i++){
cout<<" "<<data[i];
}
cout<<endl;
return ;
}
void dfs(int k){
if(k==n) {
print();
return;
}
for(int i=1;i<=n;i++){
if(!f[i]){
f[i] = 1;
data[k] = i;
dfs(k+1);
f[i] = 0;
}
}
}
int main(){
cin>>n;
dfs(0);
return 0;
}
5个场宽竟然是4个空格???建议输出复制粘贴,不要乱写了全wa
next_premutation做法
#include<bits/stdc++.h>
#include<cstdio>
using namespace std;
const int N = 10;
int a[N];
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
a[i] = i;
do{
for(int i=1;i<=n;i++)
cout<<" "<<a[i];
cout<<endl;
}while(next_permutation(a+1,a+n+1));
return 0;
}