Pagini recente » Cod sursa (job #1272663) | Cod sursa (job #119434) | Cod sursa (job #194702) | Cod sursa (job #638185) | Cod sursa (job #1711142)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("restante.in");
ofstream fout("restante.out");
struct cuv
{
char c[19];
};
cuv a[36001];
int qx(cuv a, cuv b)
{
return strcmp(a.c,b.c)<0;
}
int upb(int s, int d, cuv g)
{
int m,best;
while(s<=d)
{
m=s+(d-s)/2;
if(strcmp(g.c,a[m].c)<=0)s=m+1,best=m;
else d=m-1;
}
return best;
}
int n,i,f,sol;
int main()
{
fin>>n;
for(i=1;i<=n;i++)
{
fin>>a[i].c;
sort(a[i].c,a[i].c+strlen(a[i].c));
}
sort(a+1,a+n+1,qx);
for(i=1;i<=n;)
{
f=upb(i,n,a[i]);
if(i==f)sol++,i++;
else i=f;
if(f==n)break;
}
fout<<sol<<"\n";
return 0;
}