Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<bits/stdc++.h>
- typedef long long lli;
- using namespace std;
- #include<algorithm>
- #include<vector>
- #include<queue>
- #include<math.h>
- queue<lli>q;
- using namespace std;
- lli distance1[10000];
- vector<lli>v[10000];
- lli bfs(lli start,lli end1)
- {
- memset(distance1,0,sizeof(distance1));
- lli visited[10000]={0};
- q.push(start);
- visited[start]=1;
- while(!q.empty())
- {
- lli u=q.front();
- q.pop();
- for(lli i=0;i<v[u].size();i++)
- {
- lli s=v[u][i];
- if(visited[s]==0)
- {
- visited[s]=1;
- distance1[s]=distance1[u]+1;
- q.push(s);
- }
- }
- }
- }
- int main()
- {
- lli a;
- cin>>a;
- while(a--)
- {
- lli p,q;
- cin>>p>>q;
- v[p].push_back(q);
- v[q].push_back(p);
- }
- lli s,e;
- while(cin>>s>>e)
- {
- bfs(s,e);
- cout<<distance1[e]<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment