Cod sursa(job #991450)
Utilizator | Data | 30 august 2013 15:35:58 | |
---|---|---|---|
Problema | Ordine | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<fstream>
#include<cstring>
using namespace std;
int fr[26];
ifstream f("ordine.in"); ofstream g("ordine.out");
int main()
{ int n,i,j,w,c,cv=-1; char s[1000002];
f>>s; n=strlen(s);
for(i=0;i<n;i++) fr[s[i]-'a']++;
for(i=0;i<n;i++)
{ for(w=1,j=0;j<26 && w;j++)
if(fr[j]==(n-i+1)/2+1) c=j, w=0;
for(j=0;j<26 && w;j++)
if(fr[j] && j!=cv) c=j, w=0;
char x=c+'a';
g<<x; fr[c]--; cv=c;
}
g<<"\n"; g.close(); return 0;
}