D-Cidoai的字符集合_牛客练习赛128 (nowcoder.com)
#include "bits/stdc++.h"
#define int long long
using namespace std;
int fa[100000000];
int sz[100000000];
int find(int n)
{if(n!=fa[n])fa[n]=find(fa[n]);return fa[n];
}
map<string,int>mp;
signed main()
{ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);int n;cin>>n;for(int i=1;i<=n;i++)fa[i]=i,sz[i]=1;for(int i=1;i<=n;i++){int k;cin>>k;while(k--){string s;cin>>s;if(mp.count(s)){fa[find(i)]=fa[find(mp[s])];sz[find(i)]+=sz[find(mp[s])];sz[find(mp[s])]+=sz[find(i)];}elsemp[s]=i;}}int ans=0;for(int i=1;i<=n;i++)if(fa[i]==i&&sz[i]==1)ans++;cout<<ans+1;
}