Pagini recente » Cod sursa (job #1911092) | Cod sursa (job #252883) | Cod sursa (job #1872425) | Cod sursa (job #1244693) | Cod sursa (job #574850)
Cod sursa(job #574850)
#include<stdio.h>
#include<string.h>
FILE*fin,*fout;
int i,j,n,l,fr[260],k;
char s[1000001],x[1000001];
void tipar(){
for(i=1;i<=l;i++){
fprintf(fout,"%c",x[i]);
}
}
void back(int k){
char i;
for(i='a';i<='z';i++){
if(fr[i]>0){
x[k]=i;fr[i]--;
if(x[k]!=x[k-1]&&x[k]!=x[k+1]){
if(k==l){
tipar();return ;}
else{back(k+1);}
}
fr[i]++;
}
}
}
int main(){
fin=fopen("ordine.in","r");
fout=fopen("ordine.out","w");
fgets(s,1000,fin);
l=strlen(s);
for(i=0;i<l;i++){
fr[s[i]]++;
}
back(1);
return 0;
}