Pagini recente » Cod sursa (job #3177388) | Cod sursa (job #915585) | Cod sursa (job #568982) | Cod sursa (job #1541703) | Cod sursa (job #237276)
Cod sursa(job #237276)
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int n;
char s[36001][17];
int divide(int p,int q){
int st,dr;
char x[17];
st=p;
dr=q;
strcpy(x,s[p]);
while(st<dr){
while(st<dr&&strcmp(s[dr],x)>=0)
--dr;
strcpy(s[st],s[dr]);
while(st<dr&&strcmp(s[st],x)<=0)
++st;
strcpy(s[dr],s[st]);
strcpy(s[st],x);}
return st;}
void qsort(int p,int q){
int m;
m=divide(p,q);
if(p<m-1)
qsort(p,m-1);
if(m+1<q)
qsort(m+1,q);}
void solve(){
int i,j,m,k=0;
char aux[17];
scanf("%d",&n);
for(i=1; i<=n; ++i){
scanf("%s",&s[i]);
m=strlen(s[i]);
sort(s[i],s[i]+m);}
qsort(1,n);
for(i=1; i<=n; ++i)
if(strcmp(s[i],s[i+1]))
++k;
else
while(!strcmp(s[i],s[i+1]))
++i;
printf("%d",k);}
int main(){
freopen("restante.in","r",stdin);
freopen("restante.out","w",stdout);
solve();
return 0;}