fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4.  
  5. int main() {
  6. ll n,m;
  7. cin>>n>>m;
  8. vector<ll> G[n+1];
  9.  
  10. for(ll i=0;i<m;i++){
  11. ll u,v;
  12. cin>>u>>v;
  13. G[u].push_back(v);
  14. G[v].push_back(u);
  15. }
  16.  
  17. queue<ll> q;
  18. q.push(1);
  19. ll used[n+1]={0},lvl[n+1]={0};
  20. used[1]=1;
  21.  
  22. while(!q.empty()){
  23. ll v=q.front();
  24. cout<<v<<" "<<lvl[v]<<"\n";
  25. q.pop();
  26. for(auto u:G[v]){
  27. if(!used[u]){
  28. q.push(u);
  29. used[u]=1;
  30. lvl[u]=lvl[v]+1;
  31. }
  32. }
  33. }
  34. return 0;
  35. }
  36.  
Success #stdin #stdout 0.01s 5288KB
stdin
6 7
1 2
1 3
2 4
2 5
3 5
4 6
5 6
stdout
1 0
2 1
3 1
4 2
5 2
6 3