Advertisement
Guest User

Untitled

a guest
Jan 19th, 2019
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.60 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. vector<int> G[100];
  7.  
  8. int n, start, max_v, max_dist = -1;
  9. bool color[100];
  10.  
  11. void dfs(int v, int dist)
  12. {
  13.     color[v] = true;
  14.     for (int i = 0; i < G[v].size(); ++i)
  15.     {
  16.         if (!color[G[v][i]])
  17.         {
  18.             dfs(G[v][i], dist + 1);
  19.         }
  20.         if (dist > max_dist)
  21.         {
  22.             max_dist = dist;
  23.             max_v = v;
  24.         }
  25.     }
  26. }
  27.  
  28. int main()
  29. {
  30.     cin >> n >> start;
  31.     --start;
  32.     for (int i = 0; i < n; i++)
  33.     {
  34.         for (int j = 0; j < n; j++)
  35.         {
  36.             int c;
  37.             cin >> c;
  38.             if (c==1)
  39.             {
  40.                 G[i].push_back(j);
  41.             }
  42.         }
  43.     }
  44.     dfs(start, 0);
  45.     cout << max_v+1;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement