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