📄 arrangement.txt
字号:
#include <stdio.h>
#include <string.h>
#include <memory.h>
int m;
int n;
char map[256];
int count[256];
void Make_Map(char *str)
{
int s[256];
int i;
memset(s,0,sizeof(s));
memset(count,0,sizeof(count));
m=strlen(str);
while(*str)
{
s[*str]++;
str++;
}
n=0;
for (i=0;i<256;i++)
if (s[i])
{
map[n]=i;
count[n]=s[i];
n++;
}
}
int stack[1000];
void Find(int depth)
{
if (depth==m)
{
int i;
for (i=0;i<depth;i++) putchar(map[stack[i]]);
putchar('\n');
}
else
{
int i;
for (i=0;i<n;i++)
if (count[i])
{
stack[depth]=i;
count[i]--;
Find(depth+1);
count[i]++;
}
}
}
int main()
{
char str[27];
long n,i=1;
scanf("%ld\n",&n);
while(n--)
{
gets(str);
Make_Map(str);
printf("Case %ld:\n",i);
i++;
Find(0);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -