Cod sursa(job #240346)
| Utilizator | Data | 7 ianuarie 2009 12:36:19 | |
|---|---|---|---|
| Problema | Ordine | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
#include<fstream.h>
int a[32],i,m,ok,x;
char c;
ifstream f("ordine.in");
ofstream g("ordine.out");
int main(){
while (!f.eof()){
f>>c;
if(!f.eof()){
a[c-'a']++;
m++;}
}
x=33;
while(m!=0)
{ ok=0;
for(i=0;i<32;i++)
if(a[i]>=m/2+1){
g<<(char)(i+'a');
a[i]--;m--;ok=1;x=i;break;}
if(ok==0)
for(i=0;i<32;i++)
if(a[i]!=0&& i!=x){
g<<(char)(i+'a');
a[i]--;
m--;x=i;break; }
}
f.close();
g.close();
return 0;
}
