#4544. Swap Places
Swap Places
Swap Places
题目描述
有一个无向简单图,包含编号为 到 的 个顶点和编号为 到 的 条边。边 连接顶点 和顶点 。
每个顶点被涂成红色或蓝色。顶点 的颜色由 表示;若 为 则顶点 为红色,若 为 则为蓝色。
现在,Takahashi 在顶点 ,Aoki 在顶点 。
他们可以重复以下动作零次或多次。
两人同时各自移动到与当前顶点相邻的某个顶点。
此处,Takahashi 与 Aoki 移动到的两个顶点的颜色必须不同。
通过重复上述移动,Takahashi 和 Aoki 能否同时最终分别到达顶点 和 ?
若可能,求所需的最小移动次数。若不可能,输出 。
输入的开头给出 。对 个测试用例分别求解。
输入格式
输入按标准输入格式给出,其中 表示第 个测试用例:
每个测试用例按照以下格式给出:
输出格式
输出 行。第 行应当包含第 个测试用例的答案。
对于每个测试用例,若 Takahashi 和 Aoki 可以同时分别到达顶点 和 ,则输出所需的最小移动次数;否则输出 。
3
4 4
0 1 0 1
1 2
2 3
1 3
2 4
3 3
0 1 0
1 2
2 3
1 3
6 6
0 0 1 1 0 1
1 2
2 6
3 6
4 6
4 5
2 4
3
-1
3
提示
输入中给出的图为简单图。 输入中的所有数值均为整数。 所有测试用例中 的和不超过 。 所有测试用例中 的和不超过 。对于第 个测试用例,Takahashi 和 Aoki 可以通过下面的 次移动实现目标,且这是最少的:
Takahashi 移到顶点 ,Aoki 移到顶点 。 Takahashi 移到顶点 ,Aoki 移到顶点 。 Takahashi 移到顶点 ,Aoki 移到顶点 。
注意在第 次移动中,不允许两人都移动到顶点 (因为 Takahashi 与 Aoki 移动到的顶点颜色必须不同)。
对于第 个测试用例,无论如何移动,他们都不能实现目标。
标签: AtCoder|abc289E
来源
AtCoder|abc289E