题目描述
农夫约翰有一个大型农场,有N个谷仓(1≤N≤105),其中一些已经上漆,一些尚未上漆。农夫约翰想要粉刷这些剩余的谷仓,以便所有谷仓都被粉刷,但他只有三种可用的油漆颜色。此外,如果两个可直接到达的谷仓颜色相同,他的宝贝牛 Bessie 会感到困惑,因此他想确保这种情况不会发生。
保证 N 谷仓之间的连接不会形成任何“循环”。也就是说,在任何两个谷仓之间,至多有一个从一个谷仓到另一个谷仓的连接序列。
农夫约翰可以用多少种方法来粉刷剩下的未上色的谷仓?
输入格式
第一行包含两个整数 N 和 K (0≤K≤N),分别是农场上的谷仓数量和已经刷漆的谷仓数量。
接下来的 N-1 行每行包含两个整数 x 和 y (1≤x,y≤N,x != y) 描述直接连接谷仓 x 和 y 的路径。
接下来的 K 行每行都包含两个整数 b 和 c (1≤b≤N,1≤c≤3),表示谷仓 b 的颜色为 c。
输出格式
计算绘制剩余谷仓的有效方法数,结果对109+7取模,因此没有两个直接相连的谷仓颜色相同。
@icy