Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
30751 gaochunzhen 【S】T4 C++ 运行超时 30 2000 MS 11544 KB 1220 2024-07-30 13:13:07

Tests(3/10):


#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 2e5 + 9; struct Edge { int v, w, nxt; } E[N << 1]; int head[N], tot(1); void add(int u, int v, int w) { E[++tot].v = v, E[tot].w = w; E[tot].nxt = head[u], head[u] = tot; } int n, m; namespace sub1 { bool vis[N][2]; int ans; void dfs(int u, int d, int fa) { if (d >= 2 || vis[u][d]) return; if (!vis[u][0] && !vis[u][1]) ans++; vis[u][d] = 1; for (int i = head[u]; i; i = E[i].nxt) { if (E[i].v == fa) continue; dfs(E[i].v, d + E[i].w, u); } } void Main() { while (m--) { int op, K; scanf("%d%d", &op, &K); if (op == 1) { E[K << 1].w ^= 1, E[K << 1 | 1].w ^= 1; } else { memset(vis, 0, sizeof(bool) * (n * 2 + 5)); ans = 0; dfs(K, 0, 0); printf("%d\n", ans); } } } } signed main() { scanf("%d%d", &n, &m); for (int i = 1; i < n; i++) { int u, v, w; scanf("%d%d%d", &u, &v, &w); add(u, v, w), add(v, u, w); } sub1::Main(); return 0; }


测评信息: