Cod sursa(job #643574)

Utilizator dutzulBodnariuc Dan Alexandru dutzul Data 3 decembrie 2011 21:37:25
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <algorithm>
#include <cstring>
using namespace std;
ifstream f("ordine.in");
ofstream g("ordine.out");
string s;
short int  Q[1000000];
int i,n,poz;
char c;
int cauta(int p1,int  pn,short int w[1000000],int X)
{
    int i;
    for(i=p1;i<pn;i++)
       if (w[i]!=X) return i;

return 0;
}











int main()
{
f>>s;
n=s.length();

for(i=0;i<n;i++) Q[i]=s[i];
poz=1;
sort(Q,Q+n);



for(i=1;i<n;i++)
    if (Q[i-1]==Q[i])
    {    poz=max(poz,i);
        poz=cauta(poz,n,Q,Q[i]);

        swap(Q[i],Q[poz]);
    }



for(i=0;i<n;i++)
{
    c=Q[i];
    g<<(char)c;
}
    f.close();
    g.close();
    return 0;
}