Pagini recente » Cod sursa (job #2445515) | Cod sursa (job #1947886) | Cod sursa (job #1729053) | Cod sursa (job #1898507) | Cod sursa (job #1638198)
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("ordine.in");
ofstream fout("ordine.out");
int main()
{
char elozo, s;
int i, j, k, ok, n = 0, stat[30] = {0}, m;
while(!fin.eof()){
fin >> s;
if(fin.eof()){
break;
}
++stat[s - 'a'];
++n;
}
elozo = 0;
for(i = 1 ; i <= n ; i++)
{
m = 1;
for(j = 0 ; j < 26 && m; j++)
{
if(stat[j] > 0 && elozo != j + 'a')
{
stat[j]--;
ok = 1;
for(k = 0 ; k < 26 && ok; k++)
if(stat[k] > (n - i + 1) / 2)
ok = 0;
if(ok)
{
fout << (char)(j + 'a');
elozo = j + 'a';
m = 0;
}
else{
stat[j]++;
}
}
}
}
fout << "\n";
return 0;
}