Pagini recente » Cod sursa (job #2594435) | Cod sursa (job #1676099) | Cod sursa (job #2896731) | Cod sursa (job #2528666) | Cod sursa (job #143083)
Cod sursa(job #143083)
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int v[36009],n;
short int frecv[36009];
char m[36009][20];
void interschimb(int lin1, int lin2){
int i,ll1,ll2;
char aux;
ll1=strlen(m[lin1]);
ll2=strlen(m[lin2]);
for(i=0;i<ll1 || i<ll2;i++){
aux=m[lin1][i];
m[lin1][i]=m[lin2][i];
m[lin2][i]=aux;
}
}
void transform(int l){
int x;
x=strlen(m[l]);
sort(m[l],m[l]+x);
}
void sorteaza_linia(int p) //sortez elementele de pe linia p
{
long i,j,frecv[28];
for(i=0;i<=26;++i) frecv[i]=0;
long n, nr=0;
n=strlen(m[p]);
for(i=0;i<n;++i) frecv[m[p][i]-97]++;
for(i=0;i<26;++i)
{
while(frecv[i])
{
m[p][nr++]=char(i+97);
frecv[i]--;
}
}
}
void sortez(){
int i,j,gata,inj;
inj=n;
while(inj>1){
inj/=2;
do{
gata=1;
for(i=1;i<=n-inj;i++)
if(strcmp(m[i],m[i+inj])>0){
interschimb(i,i+inj);
gata=0;
}
}
while(!gata);
}
}
int main(){
int i,sol=0;
freopen("restante.in","r",stdin);
freopen("restante.out","w",stdout);
scanf("%d\n",&n);
for(i=1;i<=n;i++) {
scanf("%s\n",m[i]);
transform(i);
}
sortez();
for(i=1;i<n;i++)
if(strcmp(m[i],m[i+1])==0) { frecv[i]=1; frecv[i+1]=1;}
for(i=1;i<=n;i++)
if(!frecv[i]) sol++;
// for(i=1;i<=n;i++)
// printf("%s\n",m[i]);
printf("%d",sol);
return 0;
}