Advertisement
Guest User

Untitled

a guest
May 21st, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.     int n, e, i, x, y, j, k;
  7.     scanf("%d %d", &n, &e);
  8.  
  9.     vector <int> v[n+1];
  10.     for(i = 1; i <= e; i++)
  11.     {
  12.         scanf("%d %d", &x, &y);
  13.         v[x].push_back( y );
  14.         v[y].push_back( x );
  15. //        for(j = 1; j <= n; j++)
  16. //        {
  17. //            printf("%d  ", j);
  18. //            for(k = 0; k < v[j].size(); k++)
  19. //                printf("%d ", v[j][k]);
  20. //            printf("\n");
  21. //        }
  22.     }
  23.  
  24.     int vis[n+1];
  25.     memset(vis, -1, n+1);
  26.     queue <int> q;
  27.  
  28.     int node, len;
  29.     vis[1] = 0;
  30.     q.push(1);
  31.     while(!q.empty())
  32.     {
  33.         node = q.front();
  34.         len = v[node].size();
  35.         for(i = 0; i < len; i++)
  36.         {
  37.             if(vis[v[node][i]] == -1)
  38.             {
  39.                 q.push (v[node][i]);
  40.                 vis[v[node][i]] = vis[node] + 1;
  41.             }
  42.         }
  43.         q.pop();
  44.     }
  45.     for(i = 1; i <= n; i++)
  46.         printf("%d %d\n", i, vis[i]);
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement