Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <vector>
- using namespace std;
- int main()
- {
- ifstream in("itree.in");
- ofstream out("itree.out");
- int t;
- in >> t;
- while(t--)
- {
- int n, x, y;
- in >> n;
- vector<int> vecin(n+1);
- vector<int> grad(n+1);
- for(int i = 1; i < n; ++i)
- {
- in >> x >> y;
- vecin[x] = y;
- vecin[y] = x;
- grad[x]++, grad[y]++;
- }
- int gradMax = 0;
- for(int i = 1; i <= n; ++i)
- {
- if(grad[i] == 1)
- {
- grad[vecin[i]]--;
- grad[i] = 0;
- }
- }
- for(int i = 1; i <= n; ++i)
- gradMax = max(gradMax, grad[i]);
- if(gradMax > 2)
- out << "NO\n";
- else
- out << "YES\n";
- }
- in.close();
- out.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement