题目传送门
大水题…STL大法好
众所周知 ,在C++的algorithm库中,有一个神奇的函数,叫做next_permutation,可产生1~n的全排列,并且next_permutation()是按照字典序产生排列的,是从数组中当前的字典序开始依次增大直至到最大字典序。
So,短小精悍的代码
AC Code :
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i,a[10];
cin>>n;
for(i=0;i<n;i++) a[i]=i+1;
do{
for(i=0;i<n;i++) printf("%5d",a[i]);
printf("\n");
}while(next_permutation(a,a+n));
return 0;
}
当然,这道题的标签是
DFS咋写也写不炸的dalao就用dfs吧