Cod sursa(job #1837538)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 29 decembrie 2016 20:58:01
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <cstdio>
#include <cstring>
#define nmax 1000005
#define teta 26
using namespace std;
int n,v[teta];
char s[nmax],k[nmax];

int main()
{
    int i,j;
    freopen("ordine.in","r",stdin);
    freopen("ordine.out","w",stdout);
    scanf("%s",&s);
    n=strlen(s);
    for (i=0;i<n;i++)
        v[s[i]-'a']++;
    j=0;
    while (v[j]==0)
        j++;
    k[0]=j+'a';
    v[j]--;

    for (i=1;i<n;i++) {
        j=0;
        while (v[j]==0||j+'a'==k[i-1])
            j++;
        v[j]--;
        k[i]=j+'a';
    }
    printf("%s\n",k);
    return 0;
}