Pagini recente » Cod sursa (job #282922) | Cod sursa (job #1472224) | Cod sursa (job #1597997) | Cod sursa (job #1649569) | Cod sursa (job #462078)
Cod sursa(job #462078)
#include <stdio.h>
#include <string.h>
using namespace std;
#define MAX 1000017
char sir[MAX], k, r;
int ap[200];
int i, j, n;
int main()
{
FILE *f = fopen ("ordine.in","r");
FILE *g = fopen ("ordine.out","w");
fgets (sir, sizeof(sir), f);
n = strlen(sir);
for( i=0; i<n; ++i)
++ ap[sir[i]];
while (sir[n-1] == '\n')
-- n;
for (i=0; i<n; ++i)
{
k = 0;
for (j='a'; j<='z'; ++j)
if (ap[j] && !k && j != r)
{
-- ap[j];
k = j;
}
else if (ap[j] == (n - i) / 2 + 1)
{
++ ap[k];
-- ap[j];
k = j;
j = 'z'+1;
}
fprintf (g,"%c", k);
r = k;
}
fclose(g);
fclose(f);
return 0;
}