看下你 dfs 处理父亲的时候根节点的父亲是谁。
举个例子:根节点是 1,那么它的父亲必须是 0。
WHY?
如果不是 0,那么我在给路径 lca 和 lca 的父亲 -1 的时候就会出现 lca 如果是根的话它就会被减两次从而导致错误答案。
另外,记得特判当前拿到的最多救济粮的数量是多少,它可以是 0。
这两个错误会导致你 AC 两个不同的点,但是都是 10 分。
我太菜了,12 以后全 TLE