Cod sursa(job #884926)
Utilizator | Pirvoaica Daniel DanyPrv | Data | 21 februarie 2013 14:51:22 |
---|---|---|---|
Problema | Ordine | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.74 kb |
#include <fstream>
using namespace std;
ifstream f("ordine.in");
ofstream g("ordine.out");
int fr[256],i,n;
char j,ch,x,z,y;
int main()
{
int max;
while(f>>ch){
fr[ch]++;
n++;
}
x=(char)256;
for(i=1;i<=n;i++)
{
max=0;y='0';z='0';
for(j='a';j<='z';j++)
{
if(fr[j]!=0&&j!=x&&y=='0')
y=j;
if(max<fr[j]){
max=fr[j];
z=j;
}
}
if(max>(n-i+1)/2) {
g<<z;fr[z]--;
x=z;
}
else
{
g<<y;fr[y]--;
x=y;
}
}
return 0;
}