深搜不怎么会,所以为了解决关于排列的问题只好调用一些algorithm里面的一些函数,
比如一个叫做next_permutation的函数。哼,那么问题来了,这个函数该怎么用呢?
快来看看我是怎么用的吧。
那么给一个问题吧,问题的描述大概是这样的,给一个n值,输出他的全排列数。
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[20];
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
cin>>a[i];
do{
for(int i=0;i<=n;i++)
cout<<a[i]<<" ";
cout<<endl;
}while(next_permutation(a+1,a+n) );
return 0;
}
哼,为了解决一些契丹的题目,比如让这些全排列数字倒序输出,系统为我们设置了另外一个函数prev_permutation;
具体例子参照上一个写。
哼,时间就这么快的过去啦。加油,fighting。
you are the best man.