或者看看有没有和蒟蒻一样写假了 /kk Day 4 时才意识到((
```cpp
un = unordered_set <int> ();
for (int i = 1; i <= n; i++) {
if (op[i] == 0) {
if (op[i] == 0) {
x[i] = val[i];
}
if (x[i] == 0) {
ans++;
}
} else {
un.insert (i);
}
}
while (true) {
int cnt = 0;
for (auto i : un) {
if (!un.count (val[i])) {
if (op[i] == 1) {
x[i] = x[val[i]];
} else {
x[i] = (x[val[i]] == 0? 0: 3 - x[val[i]]);
}
if (x[i] == 0) {
ans++;
}
cnt++;
de.push (i);
}
}
while (!de.empty ()) {
un.erase (de.front ());
de.pop ();
}
if (cnt == 0) {
break;
}
}
```
by denominator @ 2023-11-27 22:14:23