Loading

洛谷 P1088 火星人

https://www.luogu.org/problemnew/show/P1088

 

这个题一开始是很蒙的 感觉很麻烦,每次都要交换balabala.....

后来才知道有这么一个神奇的stl 真是太好用了 疯狂爆灯!!!

 

next_permutation(a,a+n) 是可以求数组a的n位的全排列的下一位的

真是为这个题量身打造....

看代码吧:

#include<bits/stdc++.h>
using namespace std;
int a[10005],n,m;
int main(){
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++)
        scanf("%d",&a[i]);
    while(m--)    
        next_permutation(a,a+n);
    for(int i=0;i<n-1;i++)    
        printf("%d ",a[i]);    
    printf("%d",a[n-1]);
    return 0;
}

 

posted @ 2019-04-15 23:45  dyhaohaoxuexi  阅读(175)  评论(0编辑  收藏  举报