Cod sursa(job #2712800)
Utilizator | Predescu Sebastian Ion PredescuSebastianIon | Data | 26 februarie 2021 15:42:59 |
---|---|---|---|
Problema | Ordine | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.86 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("ordine.in");
ofstream g("ordine.out");
int frecv[150];
string ch,sol;
int main()
{
f>>ch;
for(int i=0; i<ch.size(); i++)
{
frecv[ch[i]]++;
}
for(int i=0; i<ch.size(); i++)
{
int nr=0,poz=0;
for(int j='a'; j<='z'; j++)
{
if(frecv[j]>nr)
{
nr=frecv[j];
poz=j;
}
}
if(nr>(ch.size()-i)/2)
{
sol+=poz;
frecv[poz]--;
continue;
}
for(int j='a'; j<='z'; j++)
{
if((sol==" " || j!=sol[sol.size()-1]) && frecv[j]>0)
{
sol+=j;
frecv[j]--;
break;
}
}
}
g<<sol<<'\n';
return 0;
}