Pagini recente » Cod sursa (job #57451) | Cod sursa (job #2927602) | Cod sursa (job #2871079) | Cod sursa (job #1105613) | Cod sursa (job #340201)
Cod sursa(job #340201)
#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[17];
in.getline(linie,17);
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;}