AT_waipc_qual_c Odd Even Counters

题目描述

有一棵无向树,包含 $N$ 个顶点,顶点编号为 $1$ 到 $N$。每条边编号为 $1$ 到 $N-1$,边 $i$ 连接顶点 $A_i$ 和顶点 $B_i$。 每条边 $i$ 上有两个计数器 $x_i, y_i$。初始时,$x_i = y_i = 0$。 你可以进行如下操作任意多次(可以为 $0$ 次): - 任意选择树上的一条行走路径。更具体地,选择一个顶点序列 $(v_0, v_1, \ldots, v_k)$(其中 $v_i$ 和 $v_{i+1}$ 由一条边直接相连,$k$ 可以任意),令 $v_i$ 与 $v_{i+1}$ 之间的边为 $e_i$。然后,对所有偶数位置的 $i = 0,2,4,\ldots$,将 $x_{e_i}$ 的值加 $1$;对所有奇数位置的 $i = 1,3,5,\ldots$,将 $y_{e_i}$ 的值加 $1$。若同一条边在路径中多次出现,则每次出现相应的计数器都会增加。 每条边都有一个目标计数器值 $(X_i, Y_i)$。你的目标是让所有边的计数器变为 $(x_i, y_i) = (X_i, Y_i)$。 请判断是否有可能达成目标;若可能,输出所需操作次数的最小值。 请对每个测试用例分别作答。

输入格式

输入通过标准输入给出,格式如下: > $T$ $case_1$ $case_2$ $ \vdots $ $case_T$ 每个测试用例包含: > $N$ $A_1$ $B_1$ $X_1$ $Y_1$ > $A_2$ $B_2$ $X_2$ $Y_2$ > $\vdots$ > $A_{N-1}$ $B_{N-1}$ $X_{N-1}$ $Y_{N-1}$

输出格式

对于每个测试用例, 若无法达成目标,输出 `-1`;否则,输出所需的最小操作次数。

说明/提示

### 样例解释 1 例如,对于第 $1$ 个测试用例,按如下两步操作可达成目标: - 选择路径 $(1,2,3)$,将 $x_1, y_2$ 的值各加 $1$。 - 选择路径 $(2,1)$,将 $x_1$ 的值加 $1$。 对于第 $2$ 和第 $3$ 个测试用例,无论如何操作都无法达到目标。 ### 数据范围 - $1 \leq T \leq 125000$ - $2 \leq N \leq 250000$ - $1 \leq A_i, B_i \leq N$ - $0 \leq X_i, Y_i \leq 10^9$ - 输入的图均为树 - $T$ 个测试用例中所有 $N$ 的总和不超过 $250000$ - 输入均为整数 由 ChatGPT 5 翻译