Advertisement
kolbka_

Untitled

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