Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int n; cin >> n;
- vpi edge(n - 1); cin >> edge;
- vi c(n); cin >> c;
- vvi g(n);
- int connected = 0;
- Fe (&[u, v] : edge) {
- --u, --v;
- if (c[u] != c[v]) {
- g[u].push_back(v);
- g[v].push_back(u);
- }
- else {
- ++connected;
- }
- }
- vi ans;
- Rep (i, n) {
- if (isz(g[i]) + connected == n - 1) {
- ans.push_back(i + 1);
- }
- }
- cout << YN(isz(ans)) << '\n';
- cout << ans << '\n';
Advertisement
Add Comment
Please, Sign In to add comment