Pagini recente » Borderou de evaluare (job #2894395) | Borderou de evaluare (job #1473037) | Borderou de evaluare (job #3309193) | Borderou de evaluare (job #1830082) | Cod sursa (job #3359092)
#include <fstream>
#include <cstring>
#include <algorithm>
using namespace std;
ifstream cin("restante.in");
ofstream cout("restante.out");
struct Cuvant {
char s[18];
};
Cuvant v[36005];
char s[18], aux;
int n, i, j, k, len, nr, identic;
bool cmp(Cuvant a, Cuvant b)
{
return strcmp(a.s, b.s) < 0;
}
int main()
{
cin>>n;
for(i=1;i<=n;i++)
{
cin>>s;
len=strlen(s);
for(j=0;j<len-1;j++)
for(k=j+1;k<len;k++)
if(s[j]>s[k])
{
aux=s[j];
s[j]=s[k];
s[k]=aux;
}
strcpy(v[i].s,s);
}
sort(v+1, v+n+1, cmp);
nr=0;
for(i=1;i<=n;i++)
{
identic=0;
if(i>1 && strcmp(v[i].s,v[i-1].s)==0)
identic=1;
if(i<n && strcmp(v[i].s,v[i+1].s)==0)
identic=1;
if(identic==0)
nr++;
}
cout<<nr<<'\n';
return 0;
}