Pagini recente » Cod sursa (job #1240303) | Cod sursa (job #1343395) | Cod sursa (job #2271708) | Cod sursa (job #1828622) | Cod sursa (job #920874)
Cod sursa(job #920874)
#include <cstdio>
#include <cstring>
using namespace std;
int a[36001][31];
char c[21];
int v[31];
int n,m,i,j,nr,numere;
bool egalitate(int x)
{
int i;
for(i=1;i<='z'-'a'+1;i++)
if(a[x][i]!=v[i]){ a[x][0]=1; return false;}
return true;
}
bool aparitie()
{
int i;
for(i=1;i<=nr;i++)
if(egalitate(i)==true)
return true;
return false;
}
void reset()
{
int j;
for(j=1;j<='z'-'a'+1;j++)
v[j]=0;
}
int main()
{
freopen("restante.in","r",stdin);
freopen("restante.out","w",stdout);
scanf("%d\n",&n);
for(i=1;i<=n;i++)
{
gets(c);
m=strlen(c)-1;
for(j=0;j<=m;j++)
v[c[j]-'a'+1]++;
if(aparitie()==false)
{
nr++;
for(j=1;j<='z'-'a'+1;j++)
a[nr][j]=v[j];
}
reset();
}
for(i=1;i<=nr;i++)
numere+=1-a[i][0];
printf("%d\n",numere);
return 0;
}