Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.92 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     ifstream in("itree.in");
  10.     ofstream out("itree.out");
  11.     int t;
  12.     in >> t;
  13.     while(t--)
  14.     {
  15.         int n, x, y;
  16.         in >> n;
  17.         vector<int> vecin(n+1);
  18.         vector<int> grad(n+1);
  19.         for(int i = 1; i < n; ++i)
  20.         {
  21.             in >> x >> y;
  22.             vecin[x] = y;
  23.             vecin[y] = x;
  24.             grad[x]++, grad[y]++;
  25.         }
  26.         int gradMax = 0;
  27.         for(int i = 1; i <= n; ++i)
  28.         {
  29.             if(grad[i] == 1)
  30.             {
  31.                 grad[vecin[i]]--;
  32.                 grad[i] = 0;
  33.             }
  34.         }
  35.         for(int i = 1; i <= n; ++i)
  36.             gradMax = max(gradMax, grad[i]);
  37.         if(gradMax > 2)
  38.             out << "NO\n";
  39.         else
  40.             out << "YES\n";
  41.     }
  42.     in.close();
  43.     out.close();
  44.     return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement