Pagini recente » Diferente pentru preoji2016 intre reviziile 1 si 2 | Diferente pentru problema/semipal intre reviziile 31 si 30 | Diferente pentru problema/inception intre reviziile 19 si 20 | Diferente pentru problema/expresii intre reviziile 3 si 2 | Cod sursa (job #2327925)
#include <fstream>
#include <cstring>
using namespace std;
ifstream cin("ordine.in");
ofstream cout("ordine.out");
char s[1000010],ch;
int N,fr[30],nr;
int main()
{
cin.getline(s,1000001);
N=strlen(s);
for(int i=0;i<N;i++)
fr[s[i]-'a']++;
do{
nr=0;
for(int i=0;i<N;i++)
if(fr[i])
{
if(fr[i]>1)
nr++;
ch=i+'a';
cout<<ch;
fr[i]--;
}
}while(nr);
return 0;
}