Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;#define L 100001int n,fa[L],ans;void build(int qwq) {for(int i=1;i<=qwq;i++) fa[i]=i;return ;}int find(const int &x) {return fa[x]==x?x:fa[x]=find(fa[x]);}bool che(const int &x,const int &y){return find(x)==find(y);}void mer(const int &x,const int &y) {if(!che(x,y)) fa[fa[x]]=fa[y];return ;}void solve(){ans=0;string a;vector < int > b;cin>>a;build(n);while(n--){char x,y;cin>>x>>y;mer(x-'a',y-'a');}for (n=0;n<26;n++)if (n!=7&&che(n,7))b.push_back(n);for (int i=0;i<a.length();i++){int tag=0;for (int j=0;j<b.size();j++)if (b[j]+'a'==a[i]) {tag=1;break;}if (tag) ans++;}