#include <stdio.h>
int n, result[100];
void change(int k);
void output();
int main ()
{
int i;
scanf ("%d", &n);
for (i = 0; i < n; i++) result[i] = i;
change(0);
return 0;
}
void change(int k)
{
int i ,tmp;
if (k == n - 1)
{
output();
}
else
{
for (i = k; i < n; i++)
{
tmp = result[i], result[i] = result[k], result[k] = tmp;
change(k + 1);
tmp = result[i], result[i] = result[k], result[k] = tmp;
}
}
}
void output()
{
int i;
for (i = 0; i < n; i++) printf ("%c", 'a' + result[i]);
printf ("\n");
}
[NOJ][算法实验一]1324.穷举所有排列
最新推荐文章于 2020-11-18 22:24:00 发布