Cod sursa(job #2847896)
Utilizator | Data | 11 februarie 2022 18:25:53 | |
---|---|---|---|
Problema | Ordine | Scor | 100 |
Compilator | c-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.76 kb |
#include <stdio.h>
#include <string.h>
int v[35];
char cuv[1000002];
int main()
{
FILE *fin,*fout;
fin=fopen("ordine.in","r");
fout=fopen("ordine.out","w");
int size,i,ci,ok;
fscanf(fin,"%s",cuv);
size=strlen(cuv);
for(i=0; i<size; i++)
v[cuv[i]-'a'+1]++;
while(size)
{
ok=1;
for(i=1; i<=26 && ok; i++)
{
if(v[i]==size/2+1)
{
ci=i;
ok=0;
}
}
for(i=1; i<=26 && ok; i++)
{
if(v[i] && ci!=i)
{
ci=i;
ok=0;
}
}
fprintf(fout,"%c",ci+'a'-1);
v[ci]--;
size--;
}
return 0;
}