您的位置:首页 > 其它

POJ 1833 排列

2013-02-15 23:41 253 查看
Source Code
Problem: 1833User: imutzcy
Memory: 172KTime: 454MS
Language: C++Result: Accepted
Source Code
/*要用C++提交,G++ 会TLE*/

/*此题用STL的 next_permutation(opt1,opt2)  opt1数组头地址,opt2排列的长度  */

/*每运行一次函数,opt1数组里存放的是排列的下一个排列,当排列到最后一个排列时 函数返回 NULL  ,注意处理细节*/

#include<functional>
#include<algorithm>
#include<iostream>
#include<fstream>
#include<sstream>
#include<iomanip>
#include<numeric>
#include<cstring>
#include<cassert>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<stack>
#include<cmath>
#include<ctime>
#include<list>
#include<set>
#include<map>

using namespace std;

int main(){
int n,p,q,num[2050];
scanf("%d",&n);
while(n--){
scanf("%d%d",&p,&q);
for(int i=0;i<p;i++)
scanf("%d",&num[i]);
while(q--){
if(!next_permutation(num,num+p))
sort(num,num+p);
}
for(int i=0;i<p;i++)
if(i) printf(" %d",num[i]);
else printf("%d",num[i]);
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: