#L3314. 「ZJOI2020」染色游戏
「ZJOI2020」染色游戏
「ZJOI2020」染色游戏
题目描述
Alice 和 Bob 在玩一个染色游戏。游戏在一张 个点 () 条边的连通图上进行,Bob 想要围住 Alice,而 Alice 想要逃出 Bob 的包围。
游戏规则
-
初始状态:
- Alice 将 号点涂成黑色(表示占领)
- Bob 将点集 中的所有点涂成白色(表示占领),保证
-
轮流操作:Alice 先手,每轮中:
- 从自己占领的点出发
- 选择一个相邻且未染色的点
- 占领该点并染上自己的颜色
- 如果无合法操作,跳过回合
-
胜负判定:约定非空点集 ,如果游戏结束时:
- 中所有点都是白色 ⇒ Bob 获胜
- 否则 ⇒ Alice 获胜
- 可能包含 中的点和 号点
特殊规则
Bob 想知道:如果 Alice 跳过前 个回合(即 Bob 在 Alice 的第一回合前额外行动 回合)后 Bob 能够获胜,求 的最小值。
- 如果原图上 Bob 就获胜,输出
- 如果 时 Bob 也不能取胜,输出
图生成方式
由于图可能很大,用以下方式生成:
- 初始有 个标号为 到 的空图
- 加入 条链,第 条链为 ,其中 且
- 加入 个新点
- 连接边:$(u_i, x_1^i), (x_1^i, x_2^i), \dots, (x_{l_i-1}^i, x_{l_i}^i), (x_{l_i}^i, v_i)$
- 如果 ,直接连接
- 保证 和 集合的点都是初始 个点之一
输入格式
第一行输入整数 ,表示数据组数。
对于每组数据:
n m |S| |T|
u₁ v₁ l₁
u₂ v₂ l₂
...
u_m v_m l_m
s₁ s₂ ... s_{|S|}
t₁ t₂ ... t_{|T|}
约束:
- ,
- ,
- 中元素: 且不重复
- 中元素: 且不重复
- 图连通,无自环,无重边
输出格式
输出 行,每行一个整数表示答案。
样例
输入
5
6 5 2 2
1 2 0
2 3 0
2 4 0
3 5 0
4 6 0
5 6
3 4
6 5 2 2
1 2 1
2 3 0
2 4 0
3 5 0
4 6 0
5 6
3 4
5 4 2 2
1 2 1
1 3 1
2 4 0
3 5 0
4 5
2 3
8 8 1 2
1 2 2
2 3 1
3 4 0
4 5 0
5 6 0
6 7 0
7 2 1
5 8 0
8
3 7
8 8 1 2
1 2 3
2 3 0
3 4 0
4 5 0
5 6 0
6 7 0
7 2 0
5 8 0
8
3 7
输出
1
0
0
0
1
数据范围与提示
测试点约束:
| 测试点 | 特殊约定 | ||
|---|---|---|---|
| 1-2 | 图为一条链 | ||
| 3-6 | 或 | ||
| 7-9 | |||
| 10-14 | 图为一个环 | ||
| 15-20 | 或 | 其他约束 |
全局约束:
- 或
- 图中不存在点数(只计算前 个点)大于 的环
- 最多 组数据满足
- 最多 组数据满足