arrangement.txt
来自「以前ACM在哈工程HRBEU做的一些简单题目」· 文本 代码 · 共 70 行
TXT
70 行
#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 + =
减小字号Ctrl + -
显示快捷键?