Pagini recente » Cod sursa (job #1758362) | Cod sursa (job #3273753) | Cod sursa (job #2634432) | Cod sursa (job #311174) | Cod sursa (job #308226)
Cod sursa(job #308226)
#include<fstream.h>
#include<string.h>
#define dim 1000001
#define dim2 30
char sir[dim];
int a[dim];
unsigned long n,i,j,l,ok,x;
int main()
{
ifstream f("ordine.in");
ofstream g("ordine.out");
f.getline(sir, dim, '\n');
f.close();
n = strlen(sir);
for(i = 0; i < n; i++)
a[sir[i]-'a'+1]++;
l = 1;
char car = ',';
while(l <= n)
{
ok = 0;
for(i = 1; i < dim2; i++)
if( ( a[i] == ( ( n - l + 1 ) / 2 + 1 ) ) && ( ( i + 'a' - 1 ) != car ) )
{
x = i;
break;
}
else if( ! ok && a[i] && ( ( i + 'a' - 1 ) != car ) )
{
x = i;
ok = 1;
}
car = (char)(x + 'a' - 1);
g<<car;
a[x]--;
l++;
}
g<<'\n';
g.close();
return 0;
}