Pagini recente » Cod sursa (job #594877) | Cod sursa (job #2315784) | Cod sursa (job #1090346) | Cod sursa (job #664880) | Cod sursa (job #1038390)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("ordine.in");
ofstream g("ordine.out");
int n, i, j, ap[256], ok, nr;
char lit[1000001], p;
int main()
{
f>>lit;
n=strlen(lit);
for(i=0; i<n; i++)
{
ap[lit[i]]++;
}
nr=n;
p=1;
for(i=0; i<n; i++)
{
ok=0;
for(j='a'; j<='z'; j++)
{
if(ap[j]>=nr/2+1)
{
ok=1;
g<<(char)j;
p=(char)j;
nr--;
ap[j]--;
break;
}
}
if(ok==0)
{
for(j='a'; j<='z'; j++)
{
if(ap[j]!=0 && p!=char(j))
{
g<<(char)j;
ap[j]--;
nr--;
p=j;
break;
}
}
}
}
return 0;
}