Cod sursa(job #300212)
| Utilizator | Data | 7 aprilie 2009 12:03:05 | |
|---|---|---|---|
| Problema | Ordine | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.67 kb |
#include<stdio.h>
#include<fstream.h>
#include<string.h>
int v[255],i,j,k,l,m,n;
char c,ant,ok;
int main(){
ifstream f("ordine.in");
freopen("ordine.out","w",stdout);
while(f>>c){
v[int(c)]++;
n++;}
for(i=1;i<=n;i++){
ok=0;
for(j=(int('a'));j<=(int('z'));j++)
if(v[j]==((n-i+1)/2+1)){ok=char(j);break;}
if(ok){printf("%c",ok);v[int(ok)]--;ant=ok;}
else
for(j=int('a');j<=int('z');j++)
if(v[j]&&j!=ant){printf("%c",char(j));v[j]--;ant=char(j);break;}
}
return 0;} 