BFS
void bfs(int s,vectoradj[],int V){
int n=V;
queue<int>q;
q.push(s);
vector<int>visited(n,0);
visited[s]=1;
while(!q.empty()){
auto node=q.front();
cout<<node;
q.pop();
for(auto it:adj[node]){
if(!visited[it]){
visited[it]=1;
q.push(it);
}
}
}
return;}
int main(){
int V;
int E;
cin>>V>>E;//V is no of vertices and E is no of Edges
vector<int>adj[V+1];
for(int i=0;i<E;i++){
int u,v;
cin>>u>>v;
adj[u].push_back(v);
adj[v].push_back(u);
}
cout<<"please enter the source node";
int s;
cin>>s;
bfs(s,adj,V);
return 0;}



