Pagini recente »
10_lmk_vs
|
Istoria paginii utilizator/raresbadici
|
Istoria paginii utilizator/razvanpapurica
|
Istoria paginii utilizator/ysaika
|
Cod sursă (job #800066)
Cod sursă (job
#800066)
#include <fstream>
#include <unordered_set>
#include <string>
using namespace std;
ifstream cin("cristela.in");
ofstream cout("cristela.out");
unordered_set<int> v[40];
unordered_set<int> adj[500005];
int main()
{
ios::sync_with_stdio(false);
int n; string s;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> s;
for (int j = 0; j < s.length(); j++)
{
if (!v[s[j] - 'a'].empty())
{
for (auto e : v[s[j] - 'a'])
{
if(i!=e)
{
adj[e].insert(i);
adj[i].insert(e);
}
}
}
v[s[j] - 'a'].insert(i);
}
}
int c = 0;
for (int i = 0; i < n; i++)
{
if (!adj[i].empty())
{
for (const int &e : adj[i])
{
c++;
//cout << e<< " ";
adj[e].erase(i);
//S1.push(e);
}
}
}
cout << c;
}