Advertisement
kolbka_

Untitled

Jan 17th, 2022
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. #include <iostream>
  2. #include <cassert>
  3. #include <algorithm>
  4. #include <vector>
  5. #include <unordered_map>
  6. #include "optimization.h"
  7. #include <map>
  8. #include <unordered_set>
  9. #define all(a) a.begin, a.end()
  10. using namespace std;
  11. vector<bool> mark;
  12. vector<vector<bool>> tree;
  13. bool flag = false;
  14. void dfs(int root){
  15. if (mark[root]){
  16. flag = true;
  17. return;
  18. }
  19. mark[root] = true;
  20. for (int child = 1; child <= size(tree[root]); child++){
  21. if (tree[root][child] && child != root){
  22. tree[root][child] = tree[child][root] = false;
  23. dfs(child);
  24. }
  25. }
  26. }
  27. int main(){
  28. int v;
  29. int e;
  30. cin >> v >> e;
  31. mark.resize(v+1, false);
  32. tree.resize(v+1, vector<bool> (v+1, false));
  33. for (int i = 0; i < e; i++){
  34. int a,b;
  35. cin >> a >> b;
  36. tree[a][b] = tree[b][a] = true;}
  37. dfs(1);
  38. if (flag){
  39. cout << "NO\n";
  40. }
  41. else{
  42. cout << "YES\n";
  43. }
  44. }
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement