Pagini recente » Cod sursa (job #529068) | Cod sursa (job #190987) | Cod sursa (job #355598) | Cod sursa (job #1796145) | Cod sursa (job #2015720)
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
ifstream si("ordine.in");
ofstream so("ordine.out");
string s;
int ap[30];
int main()
{
si>>s;
for(int i=0;i<s.size();++i)
++ap[s[i]-'a'];
int pr=-5;
for(int i=0;i<s.size();++i)
{
int j,ok,sol;
for(ok=1,j=0;j<26&&ok;++j)
{
if(ap[j]==(s.size()-i)/2+1)
{
sol=j;
ok=false;
}
}
for(j=0;j<26&&ok;++j)
{
if(ap[j]&&j!=pr)
{
sol=j;
ok=false;
}
}
so<<(char)(sol+'a');
--ap[sol];
pr=sol;
}
return 0;
}