Cod sursa(job #1204655)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 3 iulie 2014 16:22:02
Problema Restante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
#include<fstream>
#include<algorithm>
#include<iostream>
#include<string>
using namespace std;
ifstream in("restante.in");
ofstream out("restante.out");

string cuv[40000];
int n,siz;

void qsort2(int left,int right)
{

    int i = left,j = right;
    string aux;
    string pivot = cuv[(i+j)/2];
    while(i <= j){
        while(cuv[i] < pivot)
            i++;
        while(cuv[j] > pivot)
            j--;
        if(i <= j){
            aux = cuv[i];
            cuv[i] = cuv[j];
            cuv[j] = aux;
            i++;
            j--;
        }
    }
    if(left < j) qsort2(left,j);
    if(i < right) qsort2(i,right);

}
int main()
{

    in>>n;
    int i;
    for(i = 1 ; i <= n ; i++)
    {
        in>>cuv[i];
        siz = cuv[i].size()-1;
        sort(cuv[i].begin(),cuv[i].end());
        cout<<cuv[i]<<"\n";
    }
    qsort2(1,n);
    int sol = 0,c = 1,ord = 0;
    string now;
    while(c <= n){
        ord = 0;
        now = cuv[c];
        while(now == cuv[c+1]){
            c++;
            ord++;
        }
        if(ord == 0) sol++;
        c++;
    }
    out<<sol;
    return 0;
}