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