Pagini recente » Cod sursa (job #1177579) | Cod sursa (job #2328944) | Cod sursa (job #1294217) | Cod sursa (job #118655) | Cod sursa (job #306846)
Cod sursa(job #306846)
#include<stdio.h>
int a[50], st[1000002], n;
void afisare(){
int i;
for (i = 1; i <= n; i++)
printf("%c", 'a' + st[i]);
printf("\n");
}
void back(int k){
int i;
if (k == n+1) afisare();
else{
for ( i = 0; i <= 27; i++)
if (a[i] && i != st[k-1]){
a[i] --;
st[k] = i;
back(k+1);
break;
}
}
}
int main (){
char c;
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
scanf("%c", &c);
for (n = 0; c != '\n'; n++, scanf("%c", &c)){
a[c - 'a']++;
}
for (int i = 0; i <= 27; i++)
if (a[i]){
st[1] = i; a[i]--; break;
}
back(2);
return 0;
}