洛谷 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;
}

猜你喜欢

转载自www.cnblogs.com/dyhaohaoxuexi/p/10714201.html
今日推荐