fork(1) download
  1. /*Chu trinh tren do thi vo huong*/
  2.  
  3. #include <bits/stdc++.h>
  4. using namespace std;
  5.  
  6. int n, m, st, en;
  7. vector<int> adj[1001];
  8. bool visited[1001];
  9. int parent[1001];
  10.  
  11. void inp(){
  12. cin >> n >> m;
  13. for(int i = 0; i < m; i++){
  14. int x, y; cin >> x >> y;
  15. adj[x].push_back(y);
  16. adj[y].push_back(x);
  17. }
  18. memset(visited, false, sizeof(visited));
  19. }
  20.  
  21.  
  22. bool DFS(int u){
  23. visited[u] = true;
  24. for(int v : adj[u]){
  25. if(!visited[v]){
  26. parent[v] = u;
  27. if(DFS(v)) return true;
  28. }
  29. else if(v != parent[u]){
  30. return true;
  31. }
  32. }
  33. return false;
  34. }
  35.  
  36. bool BFS(int u){
  37. visited[u] = true;
  38. queue<int> q;
  39. q.push(u);
  40. while(! q.empty()){
  41. int v = q.front(); q.pop();
  42. for(int x : adj[v]){
  43. if(!visited[x]){
  44. q.push(x); visited[x] = true; parent[x] = v;
  45. }
  46. else if(x != parent[v]){
  47. return true;
  48. }
  49. }
  50. }
  51. return false;
  52. }
  53.  
  54.  
  55. int main(){
  56. inp();
  57. for(int i = 1; i <= n; i++){
  58. if(!visited[i]){
  59. if(DFS(i)){
  60. cout << "YES\n";
  61. return 0;
  62. }
  63. }
  64. }
  65. cout << "NO\n";
  66. return 0;
  67. }
  68.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
NO