1005.cpp
来自「这是在acm上所做的1005-1007」· C++ 代码 · 共 65 行
CPP
65 行
#include <stdio.h>
#define N 10
int n,a[N];
void sort(int k){
int i,j,temp;
for(i=k;i<n;i++)
for(j=k;j<=n-k;j++)
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
void perm(int m){
int i,j,temp,b[N]={0};
if(m==n){
for(j=1;j<=n;j++)
printf("%d ",a[j]);
putchar('\n');
return;
}else{
for(j=m;j<=n;j++){
temp=a[j];
a[j]=a[m];
a[m]=temp;
for(i=m;i<=n;i++)
b[i]=a[i];
sort(m+1);
perm(m+1);
temp=a[j];
a[j]=a[m];
a[m]=temp;
for(i=m;i<=n;i++)
a[i]=b[i];
}
}
}
int main(){
int i;
scanf("%d",&n);
for(i=1;i<=n;i++)
a[i]=i;
perm(1);
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?