➤ 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!!
