Cod sursa(job #306623)

Utilizator DjSefuWrong name DjSefu Data 21 aprilie 2009 17:44:40
Problema Restante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<cstdio>
#include<algorithm>
#include<string.h>
#define maxn 36005
#define maxl 18
using namespace std;
int n,i,k,j;
struct nod
{ char s[maxl];
  int p;
} a[maxn];
int fcomp(nod a,nod b)
{ return strcmp(a.s,b.s)<0;
}
int main()
{ freopen("restante.in","r",stdin);
  freopen("restante.out","w",stdout);
  scanf("%d\n",&n);
  for(i=1;i<=n;++i) { fgets(a[i].s,18,stdin);
					  k=strlen(a[i].s);
					  while(a[i].s[k-1]<'a'||a[i].s[k-1]>'z') --k;
					  a[i].s[k]=0;
				      std::sort(a[i].s,a[i].s+k);
  }
  std::sort(a+1,a+n+1,fcomp);
  k=n;
  for(i=2;i<=n;++i) if(strcmp(a[i].s,a[i-1].s)==0) { a[i].p=1;
												     a[i-1].p=1;
												   }
  for(i=1;i<=n;++i) k-=a[i].p;
  printf("%d\n",k);
  fclose(stdin);
  fclose(stdout);
  return 0;
}