Cod sursa(job #300192)
| Utilizator | Data | 7 aprilie 2009 11:56:10 | |
|---|---|---|---|
| Problema | Ordine | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include<fstream.h>
int v[30],i,poz=-1,n,j,ok,nr;
char c;
int main()
{
ifstream f("ordine.in");
ofstream g("ordine.out");
f.get(c);
while(!f.eof())
{ ++n;
v[c-'a']++;
f.get(c);
}
for(i=1;i<=n;i++)
{ nr=(n-i+1)/2+1; ok=0;
for(j=0;j<=25;j++)
if(v[j]==nr&&j!=poz) {g<<(char)(j+'a');
poz=j; v[j]--; ok=1; break;}
if(!ok) for(j=0;j<=25;j++)
if(v[j]&&j!=poz) {g<<(char)(j+'a');
v[j]--;poz=j; break;}
}
f.close();
g.close();
return 0;
}
