➤ Problem Link : PT07Y
👉 Hint : Simple DFS
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; void dfs(vector<vector<int> > &v,bool visited[],int i) { visited[i]=1; vector<int>:: iterator it; for(it=v[i].begin();it!=v[i].end();it++) { if(!visited[*it]) dfs(v,visited,*it); } } int main() { int n,m; cin>>n>>m; if(m!=n-1) cout<<"NO"<<endl; else { int x,y; vector<vector<int> >v(n+1); for(int i=0;i<m;i++) { cin>>x>>y; v[x].push_back(y); v[y].push_back(x); } bool visited[n+1]; memset(visited,0,sizeof(visited)); dfs(v,visited,1); for(int i=2;i<=n;i++) { if(!visited[i]) { cout<<"NO"<<endl; exit(0); } } cout<<"YES"<<endl; } }
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!