思维题。
将所有节点尝试都转化为全奇或者全偶
转化为全奇时,我们只需要从根节点开始遍历一遍树,在回溯时,如果子节点不是奇数,那么就操作该条边一次,将子节点变成奇数。最终,如果能够满足奇偶相同,那么根节点一定是奇数,否则就不能满足。 转化为全偶时同理
小红想将一棵树的所有结点的值变成奇偶相同。但是,他每次只能选择两个相邻节点使它们的值同时增加1。小红想知道,他能做到吗?
小红有q棵树。
第一行输入q
接下来输入每棵树。
第一行输入n,代表这棵树总共有n个节点。
第二行为ai,代表每个节点的初始值。
接下来n−1行,每行为u,v,代表节点u和v间存在一条边。
1≤n≤105
1≤ai≤109
1≤u,v≤n
所有树的节点个数和不超过200000。
对于每棵树,第一行输入"Yes"代表可以,否则输出"No"
接下来输出一个数字p,代表总共操作的次数,接下来p行,输出你的操作。
不需要最小化操作次数,但是需要保证操作次数不超过n
输入输出示例仅供调试,后台判题数据一般不包含示例
输入
2
4
1 2 2 3
1 2
2 3
3 4
4
1 2 3 3
1 2
2 3
2 4
输出
Yes
3
1 2
2 3
3 4
No