#1391. 4.红与蓝
4.红与蓝
当前没有测试数据。
4.红与蓝
题目描述
给定一棵树,初始时非叶节点均为无色,叶节点会是红色、蓝色或无色。
小红和小蓝轮流给无色叶子染色(小红染红色,小蓝染蓝色,小红先染)。所有叶子染完后,非叶节点的颜色将被逐一确定:一个非叶节点的颜色是它所有儿子的颜色中出现较多的那个(保证有奇数个儿子)。最后,根是谁的颜色谁就获胜。
求小红是否能赢,若能赢,求出第一步选择哪些叶子能赢。
输入格式
第一行一个整数表示数据组数。
每组数据第一行一个整数表示节点数。
第二行个整数,第个整数表示的父亲,保证。
第三行个整数,第个整数表示的初始颜色(表示红色,表示蓝色,表示无色)。
输出格式
每组数据输出一行。
若小红能赢,先输出一个整数表示第一步可以选的叶子数,接下来个整数表示那些叶子的编号,从小到大输出。
否则输出一个整数。
数据范围与提示
- 对于的数据,,;
- 对于的数据,;
- 对于的数据,,。
样例
2
2
0 1
-1 -1
2
0 1
-1 1
1 2
-1