Cod sursa(job #340200)

Utilizator Bogdan_CCebere Bogdan Bogdan_C Data 13 august 2009 16:34:53
Problema Restante Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.3 kb
#include<fstream>
#include<cstdio>
#include<iostream>
#include<string.h>
using namespace std;
char a[36001][17];int n;
/*void interclasare(char  )
{for(int j=2;j<=strlen(a);j++)
 {int key=a[j];
         int i=j-1;
 while(i>0 && a[j]>a[i]) {a[i+1]=a[i];i--;}
 a[i+1]=key;
         
         }
     
     }*/
int partition(int p,int q)
{int r=p-1;

char x[17]; strcpy(x,a[q]);
for(int i=p;i<q;i++) {if(strcmp(a[i],x)<=0){r++;char  aux[17];strcpy(aux,a[i]);strcpy(a[i],a[r]);strcpy(a[r],aux);}}
char aux1[17];strcpy(aux1,a[q]);strcpy(a[q],a[r+1]);strcpy(a[r+1],aux1);
return r+1;
    
    }
void quicksort(int p,int q)
{if(p<q)
 {int r1=partition(p,q);
 quicksort(p,r1-1);
 quicksort(r1+1,q);
        
        }
     
     }     
     
     
int main()
{ifstream in("restante.in");
ofstream out("restante.out");
in>>n;
char *linie;
in.getline(linie,256);
for(int i=1;i<=n;i++)
 {in.getline (a[i],17);

 for(int j=1;j<strlen(a[i]);j++)
 {char key=a[i][j];
         int k=j-1;
 while(k>=0 && key<a[i][k]) {a[i][k+1]=a[i][k];k--;}
 a[i][k+1]=key;}
 
}
quicksort(1,n);
int contor=0;
if(strcmp(a[1],a[2])!=0) contor++;
for(int i=2;i<n;i++) if(strcmp(a[i-1],a[i])!=0 && strcmp(a[i],a[i+1])!=0) contor++;
if(strcmp(a[n],a[n-1])!=0) contor++;
out<<contor; 
    
    
    return 0;}