fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. vector<vector<int> > g;
  5. bool vis[1000000];
  6. void dfs(int u){
  7. vis[u]=true;
  8. for(int i=0;i<g[u].size();++i){
  9. int aux=g[u][i];
  10. if(vis[aux]==false){
  11. dfs(aux);
  12. }
  13. }
  14. }
  15. int main()
  16. {
  17. int n; cin>> n;
  18. for(int i=0;i<n;++i){
  19. int nodos,aristas,x,y;
  20. cin>> nodos >> aristas;
  21. g.assign(nodos+5, vector<int> ());
  22. memset(vis,false,sizeof vis);
  23. for(int k=0;k<aristas;++k){
  24. cin>> x >> y;
  25. x--; y--;
  26. g[x].push_back(y);
  27. g[y].push_back(x);
  28. }
  29. dfs(0);
  30. bool ok=false;
  31. for(int i=0;i<nodos;++i){
  32. if(vis[i]==false){
  33. ok=true;
  34. }
  35. }
  36. if(ok==true)cout<<"NO"<<endl;
  37. else cout<<"YES"<<endl;
  38. }
  39. return 0;
  40. }
  41.  
Success #stdin #stdout 0s 16216KB
stdin
Standard input is empty
stdout
Standard output is empty