Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define vi vector<int>
- #define vvi vector<vi>
- #define pb push_back
- int niveis[20000];
- vvi ladj;
- vi vazio;
- int quem, pra_quem, qtas_cdds;
- queue <int> s;
- void bfs(){
- while(!s.empty()){
- int cara = s.front();s.pop();
- for(int i=0;i<ladj[cara].size();i++){
- if(niveis[ladj[cara][i]]==0){
- niveis[ladj[cara][i]]=niveis[cara]+1;
- s.push(ladj[cara][i]);
- }
- }
- }
- }
- int main(){
- ios::sync_with_stdio(0);cin.tie(nullptr);
- cin>>qtas_cdds>>quem>>pra_quem;
- int t1,t2;
- for(int i=0;i<=qtas_cdds;i++){
- ladj.pb(vazio);
- }
- for(int i=1;i<qtas_cdds;i++){
- cin>>t1>>t2;
- ladj[t1].pb(t2);
- ladj[t2].pb(t1);
- }
- //cout<<"rin"<<endl;
- s.push(quem);
- niveis[quem]=0;
- bfs();
- cout<<niveis[pra_quem]<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement