Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <vector>using namespace std;typedef struct Node {int val;bool visited;vector<int> neighbors;};Node tree[200000];int cnt = 0;void dfs(int u) {tree[u].visited = true;for (int v : tree[u].neighbors) {if (!tree[v].visited) {dfs(v);tree[u].val += tree[v].val;if (tree[v].val % 2 == 0) {cnt++;}}}}int main() {int n;cin >> n;for (int i = 1; i <= n; i++) {