题目
代码:
#include <bits/stdc++.h>
using namespace std;
map<string, string>M;
string find(string x) {
while (M[x] != x)
x = M[x];
return x;
}
void family(string x, string y) {
x = find(x);
y = find(y);
if (x != y)
M[x] = y;
}
int main() {
string s, fa;
while (cin >> s) {
if (s[0] == '$')
break;
if (s[0] == '#')
fa = s.substr(1);
if (s[0] == '+')
family(fa, (s.substr(1)));
if (s[0] == '?')
cout << s.substr(1) << " " << find((s.substr(1))) << "\n";
}
}
为什么我的代码中的祖先都是空格啊