Pagini recente » Cod sursa (job #2126497) | Cod sursa (job #2882516) | Cod sursa (job #2872993) | Borderou de evaluare (job #1487029) | Cod sursa (job #462594)
Cod sursa(job #462594)
#include<stdio.h>
#include<string>
#include<algorithm>
using namespace std;
FILE*f=fopen("restante.in","r");
FILE*g=fopen("restante.out","w");
int i,n,l,sir[36005],nr,cons;
char a[36005][20];
int cmp(int x, int y){
if(strcmp(a[x],a[y])<0)
return 1;
return 0;
}
int main () {
fscanf( f,"%d\n", &n );
for( i = 1 ; i <= n ; ++i ){
fscanf( f,"%s",a[i] );
l = strlen ( a[i] );
sir[i] = i;
sort(a[i],a[i] + l);
}
sort ( sir + 1, sir + n + 1, cmp ) ;
nr = n ;
cons = 1 ;
for ( i = 1 ; i < n ; ++i ){
//compar a[sir[i]] cu a[sir[i+1]]
if ( memcmp(&a[sir[i]],&a[sir[i+1]],18) == 0 ){
++cons ;
}
else{
if(cons>1)
nr -= cons ;
cons = 1 ;
}
}
if ( cons > 1 )
nr -= cons ;
fprintf(g,"%d\n",nr);
fclose(f);
fclose(g);
return 0;
}