Pagini recente » Cod sursa (job #1619506) | Cod sursa (job #1643997) | Cod sursa (job #446694) | Cod sursa (job #2607123) | Cod sursa (job #1810775)
#include <cstdio>
#include <algorithm>
#include <bitset>
using namespace std;
bitset <30> ff;
pair <int,int> v[36001];
int main()
{
FILE *fin=fopen ("restante.in","r");
FILE *fout=fopen ("restante.out","w");
int n,i,nr,uni,st;
char c;
fscanf (fin,"%d\n",&n);
for (i=1;i<=n;i++){
c=fgetc (fin);
nr=0;
ff.reset();
while (c!='\n'){
c-='a';
v[i].second++;
if (ff[(int)c]==0){
nr=nr+(1<<c);
ff[(int)c]=1;
}
c=fgetc (fin);
}
v[i].first=nr;
}
sort (v+1,v+n+1);
uni=0;
st=0;
for (i=1;i<=n;i++){
if (v[i].first!=v[i-1].first || v[i].second!=v[i-1].second){
uni++;
st=0;
}
else if (st==0){
st=1;
uni--;
}
}
fprintf (fout,"%d",uni);
return 0;
}