fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. unordered_map<string, vector<string>> c;
  4. unordered_map<string, bool> a;
  5. string r;
  6. vector<string> o;
  7. void f(string &p) {
  8. if (a[p] && p != r) o.push_back(p);
  9. for (auto &x : c[p]) f(x);
  10. }
  11. int main() {
  12. int n; cin >> n;
  13. string u, p, s;
  14. while (n--) {
  15. cin >> u >> p >> s;
  16. a[u] = s[0] == 't';
  17. c[p].push_back(u);
  18. if (p == "null") r = u;
  19. }
  20. f(r);
  21. for (int i = 0; i < 3 && i < (int)o.size(); ++i)
  22. cout << o[i] << "\n";
  23. }
Success #stdin #stdout 0s 5320KB
stdin
4

Elizabeth null false

Charles Elizabeth true

William Charles true

George William true
stdout
Charles
William
George