Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #define ll long long
  3. #define forn(i, n, a) for(int i = a; i < n; i++)
  4. #define fora(i, n, a) for(int i = a; i > n; i--)
  5. #define f first
  6. #define s second
  7. #define pb push_back
  8. #define mp make_pair
  9.  
  10. #include <iostream>
  11. #include <vector>
  12. #include <algorithm>
  13. #include <string>
  14. #include <stack>
  15.  
  16. //#pragma comment(linker, "/STACK:156777237" )
  17.  
  18. using namespace std;
  19.  
  20. vector<int> map[1001], ostgr[1001];
  21. bool used[1001];
  22.  
  23. void make_graph(int v)
  24. {
  25. used[v] = true;
  26. forn(i, map[v].size(), 0)
  27. {
  28. if (!used[map[v][i]])
  29. {
  30. ostgr[v].pb(map[v][i]);
  31. ostgr[map[v][i]].pb(v);
  32. make_graph(map[v][i]);
  33. }
  34. }
  35. }
  36.  
  37. bool dfs(int a, int b, int co, int pa)
  38. {
  39. if(a == b)
  40. {
  41. cout << co << ' ';
  42. cout << a << ' ';
  43. return true;
  44. }
  45.  
  46. forn(i, ostgr[a].size(), 0)
  47. {
  48. if (ostgr[a][i] != pa && dfs(ostgr[a][i], b, co + 1, a))
  49. {
  50. cout << a << ' ';
  51. return true;
  52. }
  53. }
  54. }
  55.  
  56.  
  57. int main(void) {
  58. //#ifndef ONLINE_JUDGE
  59. freopen("input.txt", "r", stdin);
  60. freopen("output.txt", "w", stdout);
  61. //#endif
  62. int n, m;
  63. cin >> n >> m;
  64.  
  65. forn(i, m + 1, 1)
  66. {
  67. int x, y;
  68. cin >> x >> y;
  69. map[x].pb(y);
  70. map[y].pb(x);
  71. }
  72.  
  73. make_graph(1);
  74.  
  75. int c;
  76. cin >> c;
  77.  
  78.  
  79. forn(i, c, 0)
  80. {
  81. int a, b, c;
  82. cin >> a >> b >> c;
  83. dfs(b, a, 1, 0);
  84. cout << endl;
  85. dfs(c, a, 1, 0);
  86. cout << endl;
  87. dfs(c, b, 1, 0);
  88. cout << endl;
  89. }
  90.  
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement