Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int MAXN = 100005;string st[MAXN];int cnt;int tree[MAXN], flag[MAXN];void add(string father, string son){int indF = -1, indS = -1;for(int i=0;i<cnt;i++){if(father == st[i]) indF = i;if(son == st[i]) indS = i;}if(indF == -1) {st[cnt] = father; indF = cnt++;}if(indS == -1) {st[cnt] = son; indS = cnt++; }tree[indS] = indF;}int findInd(string s1){for(int i=0;i<cnt;i++)if(s1==st[i])return i;return -1;}void solve(int n1, int n2){memset(flag, 0, sizeof(flag));