DuongNhi99

G. Tô màu cây

Jan 3rd, 2022
941
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.60 KB | None | 0 0
  1.         int n; cin >> n;
  2.         vpi edge(n - 1); cin >> edge;
  3.         vi c(n); cin >> c;
  4.  
  5.         vvi g(n);
  6.         int connected = 0;
  7.  
  8.         Fe (&[u, v] : edge) {
  9.             --u, --v;
  10.             if (c[u] != c[v]) {
  11.                 g[u].push_back(v);
  12.                 g[v].push_back(u);
  13.             }
  14.             else {
  15.                 ++connected;
  16.             }
  17.         }
  18.  
  19.         vi ans;
  20.         Rep (i, n) {
  21.             if (isz(g[i]) + connected == n - 1) {
  22.                 ans.push_back(i + 1);
  23.             }
  24.         }
  25.  
  26.         cout << YN(isz(ans)) << '\n';
  27.         cout << ans << '\n';
Advertisement
Add Comment
Please, Sign In to add comment