维什戴尔
Problem Description
“何以为我?”
给定一棵由编号为 1,2,3,⋯,n 的点构成的树。记集合 S={0,1}。记整数 wi(wi∈S)表示编号为 i(1≤i≤n)的点的权值。
对于第 i(1≤i<n)条树上的边双向连接编号为 ui,vi 的点:
- 给定 xi 满足若断开第 i 条边,存在整数 k(k∈S)使得此时编号为 ui 的点所在的连通块中恰有 xi 个点的权值是 k。
- 给定 yi 满足若断开第 i 条边,存在整数 k(k∈S)使得此时编号为 vi 的点所在的连通块中恰有 yi 个点的权值是 k。
出于一些原因,你不知道每个点的权值。故你需要计算有多少个不同的权值序列 w1,w2,w3,⋯,wn 满足以上所有条件,对 998244353 取模。
可能不存在任何权值序列满足所有条件,此时答案为 0。
本题包含多组测试数据。
首先在第一行输入一个整数 T(1≤T≤3×105)表示测试数据组数。
对于每一组测试数据,输入包含 n 行。
第一行包含一个整数 n(1≤n≤105,1≤∑n≤3×105)表示树上点的数量。
接下来 n−1 行,第 i+1(1≤i<n)行包含四个整数 ui,vi,xi,yi(1≤ui,vi≤n,0≤xi,yi<n),表示第 i 条树上的边。
保证输入的点构成一棵树。
Output
对于每一组测试数据,输出包含一行一个整数表示答案对 998244353 取模后的值。
2
4
1 2 2 1
1 3 2 1
1 4 2 1
4
1 2 1 2
2 3 1 1
3 4 2 1
Sample Output
8
4
Hint
在样例的第一组测试数据中,以下权值序列满足条件:
- w1=0,w2=0,w3=1,w4=1。
- w1=0,w2=1,w3=0,w4=1。
- w1=0,w2=1,w3=1,w4=0。
- w1=0,w2=1,w3=1,w4=1。
- w1=1,w2=0,w3=0,w4=0。
- w1=1,w2=0,w3=0,w4=1。
- w1=1,w2=0,w3=1,w4=0。
- w1=1,w2=1,w3=0,w4=0。
Source
2025“钉耙编程”中国大学生算法设计暑期联赛(4)