Pagini recente » Borderou de evaluare (job #261330) | Borderou de evaluare (job #621782) | Cod sursa (job #1975297) | Borderou de evaluare (job #2706495) | Cod sursa (job #2412582)
#include <fstream>
#include <algorithm>
#include <cstring>
using namespace std;
ifstream f("restante.in");
ofstream g("restante.out");
int n,i,j;
int poz[37000],gr[37000];
char a[37000][30];
int cmp(int x, int y)
{
if (strcmp(a[x],a[y])<=0)
return 1;
return 0;
}
int main()
{
f>>n;
f.get();
for (i=1;i<=n;i++)
{
f.getline(a[i],sizeof(a[i]));
sort(a[i],a[i]+strlen(a[i]));
poz[i]=i;
}
sort(poz+1,poz+n+1,cmp);
for (i=1;i<=n;i++)
if (strcmp(a[poz[i]],a[poz[i-1]])==0)
gr[i]=gr[i-1]=1;
int nr=0;
for (i=1;i<=n;i++)
if (gr[i]==0)
nr++;
g<<nr;
return 0;
}