有一个包含 N 个顶点、M 条边的连通无向图 G。对于 i=1,2,\ldots,M,第 i 条边连接顶点 a_i 和 b_i,如果 c_i= R,则该边为红色;如果 c_i= B,则该边为蓝色。
请判断是否存在满足以下条件的 G 的一棵生成树。如果存在,请给出其中一棵。
R,则顶点 i 至少有一条红色的边作为端点。B,则顶点 i 至少有一条蓝色的边作为端点。输入通过标准输入按以下格式给出。
N M
a1 b1 c1
...
aM bM cM
s1 s2 ... sN
如果不存在满足条件的 G 的生成树,输出 No。
否则输出以下形式:
Yes
t1 t2 ... t_{N-1}
其中 t_i 表示生成树中第 i 条边在 G 中的编号。 如果存在多种满足条件的生成树,输出其中任意一种均可。
3 3 1 2 R 1 3 B 2 3 B RRB
Yes 2 1
3 4 1 2 R 1 2 B 1 3 B 2 3 B RRR
No
8 16 5 7 B 2 7 R 1 6 R 1 4 R 6 7 R 4 6 B 4 8 R 2 3 R 3 5 R 6 7 B 2 6 B 5 6 R 1 3 B 4 5 B 2 7 B 1 8 B BRBRRBRB
Yes 1 2 4 9 11 13 16
R 或 BR 或 `B$由 G 的第 1、2 条边组成的生成树满足条件,具体如下:
R,因此对于 i=1,要求顶点 1 至少有一条红色的边作为端点。第 1 条边满足此条件。R,因此对于 i=2,要求顶点 2 至少有一条红色的边作为端点。第 1 条边满足此条件。