Pagini recente »
2019-09-19-clasa-7-tema-1
|
2022-03-09-clasa-5-tema-32
|
Monitorul de evaluare
|
Profil Thomas_Paturan114
|
Cod sursă (job #800604)
Cod sursă (job
#800604)
#include <fstream>
#include <cstring>
using namespace std;
ifstream cin("cristela.in");
ofstream cout("cristela.out");
long long A[(1<<21)];
int main()
{
int n;
char s[20];
int sigma=0;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>s;
int x=strlen(s);
int nr=0;
for(int j=0;j<x;j++)
{
if(s[j]-'a'>sigma)
sigma=s[j]-'a';
nr=nr|(1<<s[j]-'a');
}
A[nr]++;
}
unsigned long long cnt=0;
for(int i=0;i<(1<<sigma+1);i++)
{
if(A[i])
{
cnt+=A[i]*(A[i]-1)/2;
for(int j=0;j<i;j++)
if(A[j])
{
if(i&j)
cnt+=A[i]*A[j];
}
}
}
cout<<cnt;
return 0;
}