fork(2) download
  1. #include <iostream>
  2. #include <unordered_map>
  3. #include <unordered_set>
  4. #include <string>
  5. #include <cstdlib>
  6. using namespace std;
  7.  
  8. void produceTLC()
  9. {
  10. int i;
  11. for(;;) ++i;
  12. exit(EXIT_SUCCESS);
  13. }
  14.  
  15. void produceWA()
  16. {
  17. cout << "qwertyuiop";
  18. exit(EXIT_SUCCESS);
  19. }
  20.  
  21. using child = string;
  22. using parents = unordered_set<string>;
  23. unordered_map<child, parents> parentsOfChild;
  24.  
  25. int main()
  26. {
  27. string p, q;
  28. do
  29. {
  30. cin >> p >> q;
  31. if(parentsOfChild.count(p))
  32. {
  33. parentsOfChild.at(p).insert(q);
  34. if(parentsOfChild.at(p).size()>1)
  35. produceTLC();
  36. }
  37. else parentsOfChild.insert(make_pair(p, unordered_set<string>{q}));
  38. }
  39. while(p!="no.child");
  40. produceWA();
  41. return 0;
  42. }
Success #stdin #stdout 0s 3424KB
stdin
alonzo.church oswald.veblen
stephen.kleene alonzo.church
dana.scott alonzo.church
martin.davis alonzo.church
pat.fischer hartley.rogers
mike.paterson david.park
dennis.ritchie pat.fischer
hartley.rogers alonzo.church
les.valiant mike.paterson
bob.constable stephen.kleene
david.park hartley.rogers
no.child no.parent
stephen.kleene bob.constable
hartley.rogers stephen.kleene
les.valiant alonzo.church
les.valiant dennis.ritchie
dennis.ritchie les.valiant
pat.fischer michael.rabin
stdout
qwertyuiop