Advertisement
Guest User

.

a guest
Oct 19th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <string>
  4. #include <map>
  5. #include <queue>
  6. #include <set>
  7.  
  8. using namespace std;
  9. set<string> all;
  10. set<string> used;
  11. map<string, int> mapp;
  12. map<string, int> mapp2;
  13. string s[101][3];
  14. int n;
  15. int k=0;
  16. string a, b, c;
  17. int d, e, f,g1=0,g2=1,g3=2;
  18. int main()
  19. {
  20. bool t1=false, t2=false, t3 = false;
  21. cin >> n;
  22. string enter;
  23. getline(cin, enter);
  24. vector<vector<int>>vec(301);
  25. map < string, vector < string > > g;
  26. for (int i = 0; i < (int)(n); i++)
  27. {
  28.  
  29. cin >> a >> b >>c;
  30. g[a].push_back(b);
  31. g[a].push_back(c);
  32. g[b].push_back(a);
  33. g[b].push_back(c);
  34. g[c].push_back(a);
  35. g[c].push_back(b);
  36. all.insert(a);
  37. all.insert(b);
  38. all.insert(c);
  39. }
  40.  
  41. mapp["Isenbaev"] = 0;
  42. used.insert("Isenbaev");
  43. deque < string > q;
  44. q.push_back("Isenbaev");
  45.  
  46. while (!q.empty())
  47. {
  48. string v = q.front();
  49. q.pop_front();
  50. int p = mapp[v];
  51. for (int i = 0; i < g[v].size(); i++) {
  52. if (used.find(g[v][i]) == used.end())
  53. {
  54. used.insert(g[v][i]);
  55. q.push_back(g[v][i]);
  56. mapp[g[v][i]] = p + 1;
  57. }
  58. }
  59.  
  60. }
  61. for (set<string>::iterator it = all.begin(); it != all.end(); it++)
  62. {
  63. string iter = *it;
  64. cout << iter << ' ';
  65. if (used.find(iter) == used.end())
  66. cout << "undefined" << endl;
  67. else
  68. cout << mapp[iter] << endl;
  69. }
  70.  
  71. return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement