Cod sursa(job #1116503)

Utilizator cordun_cristinaCristina Maria Cordun cordun_cristina Data 22 februarie 2014 17:03:00
Problema Litere Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream f("litere.in");
ofstream g("litere.out");

int n,li,ls,k,a[10000],contor;
char cif;
void poz(int li, int ls, int &k)
{
    int i=li,j=ls,aux,i1=0,j1=-1;
    while (i<j)
    {
        if(a[i]>a[j])
        {
            aux=a[i]; a[i]=a[j]; a[j]=aux;
            aux=i1; i1=-j1; j1=-aux;
            contor++;
        }
        i=i+i1;
        j=j+j1;
    }
    k=i;
}
void quick(int li, int ls)
{
    if(li<ls)
    {
        poz(li,ls,k);
        quick(li,k-1);
        quick(k+1,ls);
    }
}
int main()
{
    int i;
    f>>n;
    for(i=0;i<n;i++)
    {
        f>>cif;
        a[i]=cif-'a';
    }
    quick(0,n-1);
    g<<contor;
    return 0;
    f.close();
    g.close();
}