Advertisement
Guest User

Untitled

a guest
Sep 21st, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.89 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define vi vector<int>
  4. #define vvi vector<vi>
  5. #define pb push_back
  6. int niveis[20000];
  7. vvi ladj;
  8. vi vazio;
  9. int quem, pra_quem, qtas_cdds;
  10. queue <int> s;
  11. void bfs(){
  12.     while(!s.empty()){
  13.         int cara = s.front();s.pop();
  14.         for(int i=0;i<ladj[cara].size();i++){
  15.             if(niveis[ladj[cara][i]]==0){
  16.                 niveis[ladj[cara][i]]=niveis[cara]+1;
  17.                 s.push(ladj[cara][i]);
  18.             }
  19.         }
  20.     }
  21. }
  22. int main(){
  23.     ios::sync_with_stdio(0);cin.tie(nullptr);
  24.     cin>>qtas_cdds>>quem>>pra_quem;
  25.     int t1,t2;
  26.     for(int i=0;i<=qtas_cdds;i++){
  27.         ladj.pb(vazio);
  28.     }
  29.     for(int i=1;i<qtas_cdds;i++){
  30.         cin>>t1>>t2;
  31.         ladj[t1].pb(t2);
  32.         ladj[t2].pb(t1);
  33.     }
  34.     //cout<<"rin"<<endl;
  35.     s.push(quem);
  36.     niveis[quem]=0;
  37.     bfs();
  38.     cout<<niveis[pra_quem]<<endl;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement