NOIP2004火星人

时间:2023-03-09 12:59:26
NOIP2004火星人

法1:裸的全排列

加点优化也可以很快---洛谷6ms

 #include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=;
int read(){
char c=getchar();
int x=;
while(c<''||c>'') c=getchar();
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x;
}
int n,m;
int c[N];
int main(){
n=read();m=read();
for(int i=;i<=n;i++) c[i]=read();
for(int i=;i<=m;i++)
next_permutation(c+,c+n+);
for(int i=;i<=n;i++) printf("%d ",c[i]);
}

法2:编码解码

如白书第十章

以后再更新