Pagini recente » Cod sursa (job #2193137) | Cod sursa (job #113483) | Cod sursa (job #654150) | Cod sursa (job #86443) | Cod sursa (job #658372)
Cod sursa(job #658372)
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
int v[27];
char c[1000001];
int main ()
{
int n,i,j;
char cc;
ifstream f("ordine.in");
ofstream g("ordine.out");
f>>c;
f.close();
n=strlen(c)-1;
for(i=0;i<=n;i++)
v[c[i]-97]++;
cc=0;
while(1) {
for(i=0;i<=26;i++)
if((v[i])&&((cc==0)||(cc!=(char(i+97)))))
break;
if(i==27)
break;
if(v[i]!=0) {
for(j=0;j<=26;j++)
if((v[j]!=0)&&(j!=i))
break;
while(v[i]) {
if(j<=26) {
g<<char(i+97)<<char(j+97);
v[j]--;
cc=char(j+97);
}
else {
g<<char(i+97);
cc=char(i+97);
}
v[i]--;
if(v[i]==0)
break;
if(v[j]==0)
for(j=0;j<=26;j++)
if((v[j]!=0)&&(i!=j))
break;
}
}
}
g.close();
return 0;
}