Cod sursa(job #1482566)

Utilizator tudormaximTudor Maxim tudormaxim Data 7 septembrie 2015 15:48:34
Problema Ordine Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>
using namespace std;
int v[27];
int main()
{
    ifstream fin ("ordine.in");
    ofstream fout ("ordine.out");
    string s;
    int i, j, c, last=-1;
    fin >> s;
    for(i=0; i<s.size(); i++)
        v[s[i]-'a']++;
    for(i=0; i<s.size(); i++)
    {
        c=0;
        for(j=0; j<=26; j++)
            if(v[j]>0 && j!=last)
            {
                c=j;
                break;
            }
        for(j=0; j<=26; j++)
            if(v[j]>(s.size()-i)/2)
            {
                c=j;
                break;
            }
        v[c]--;
        fout << (char)('a'+c);
        last=c;
    }
    fin.close();
    fout.close();
    return 0;
}