fork download
  1. #include<bits/stdc++.h>
  2. #include<iostream>
  3.  
  4. using namespace std;
  5.  
  6. int n,m;
  7.  
  8. int const N = 200005;
  9.  
  10. vector<int> v[N];
  11.  
  12. vector<bool> visited(N,false);
  13.  
  14. bool cycle = false;
  15.  
  16. void dfs(int i, int parent){
  17. if(cycle)return;
  18. visited[i] = true;
  19.  
  20. for(int node: v[i]){
  21. if(node==parent)continue;
  22. if(visited[node]){
  23. cycle = true;
  24. return;
  25. }
  26. dfs(node,i);
  27. }
  28. }
  29.  
  30.  
  31. int main()
  32. {
  33.  
  34. cin >> n >> m;
  35.  
  36. while(m--){
  37. int a,b;
  38.  
  39. cin >> a >> b;
  40.  
  41. v[a].push_back(b);
  42. v[b].push_back(a);
  43. }
  44.  
  45. for(int i = 1;i<=n;i++){
  46. if(cycle)break;
  47. if(!visited[i]){
  48. dfs(i,-1);
  49. }
  50. }
  51.  
  52. if(!cycle){
  53. puts("NO");
  54. }
  55.  
  56. else{
  57. puts("YES");
  58. }
  59.  
  60. }
Success #stdin #stdout 0.01s 8256KB
stdin
Standard input is empty
stdout
NO