Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #include<iostream>
- using namespace std;
- int bfs(int,int);
- int edge[100][100];
- int N,E;
- int main()
- {
- scanf("%d %d",&N,&E);
- int a,b;
- for(int i=0;i<100;i++)
- for(int j=0;j<100;j++)
- edge[i][j]=-1;
- for(int i=0;i<E;i++){
- scanf("%d %d",&a,&b);
- edge[a][b]=1;
- edge[b][a]=1;
- }
- int start,end;
- scanf("%d %d",&start,&end);
- int x=bfs(start,end);
- if(x==1)
- printf("Possible to visit");
- else
- printf("Not Possible to visit");
- }
- int bfs(int start,int end){
- int visited[100];
- for(int i=0;i<100;i++)
- visited[i]=0;
- queue <int> q;
- q.push(start);
- while(q.empty()){
- int cur=q.front();
- q.pop();
- if(visited[cur]==-1)continue;
- visited[cur]=1;
- for(int i=0;i<N;i++)
- if(edge[cur][i]=1&& visited[i]==0)
- q.push(i);
- }
- return visited[end];
- }
Advertisement
Add Comment
Please, Sign In to add comment