atcoder#ABC277E. [ABC277E] Crystal Switches
[ABC277E] Crystal Switches
题目描述
個の頂点と 本の辺からなる無向グラフが与えられます。
について、 番目の辺は頂点 と頂点 を結ぶ無向辺であり、 ならばはじめは通行可能、 ならばはじめは通行不能です。 また、頂点 、頂点 、 、頂点 の 個の頂点にはスイッチがあります。
高橋君は、はじめ頂点 におり、「下記の移動とスイッチを押すの つの行動のどちらかを行うこと」を好きなだけ繰り返します。
- 移動 : いまいる頂点と通行可能な辺を介して隣接する頂点を つ選び、その頂点に移動する。
- スイッチを押す : いまいる頂点にスイッチがあるならば、そのスイッチを押す。その結果、グラフ上のすべての辺の通行可能・通行不能の状態が反転する。すなわち、通行可能である辺は通行不能に、通行不能である辺は通行可能に変化する。
高橋君が頂点 に到達することが可能かどうかを判定し、可能な場合は頂点 に到達するまでに行う移動の回数としてあり得る最小値を出力してください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
高橋君が頂点 に到達することが不可能な場合は を、 可能な場合は頂点 に到達するまでに行う移動の回数としてあり得る最小値を出力せよ。
题目大意
【题面翻译】
给定一张 个点 条边的无向图。每条边有一个权值 。 表示这条边无法通过, 则可以通过。
有 个点上面有按钮 。
你现在位于 号点。每次,你可以做两件事情中的一件:
- 移动。移到相邻的一个点上,注意这条边一定是可以通行的。
- 按开关。此时,全部路的边权取反。即: 变成 , 变成 。
请问你是否能够到达 号点。如果可以,求出最少移动次数。
translated by
【输入格式】
第一行三个数 。
接下来 行,每行三个数 表示一条连接 与 的边。
最后一行 个数,表示按钮的位置。
【输出格式】
如果无法到达,输出 。否则输出最少移动次数。
【数据范围】
保证 ,且 。
保证 。
5 5 2
1 3 0
2 3 1
5 4 1
2 1 1
1 4 0
3 4
5
4 4 2
4 3 0
1 2 1
1 2 0
2 1 1
2 4
-1
提示
制約
- $ 1\ \leq\ s_1\ \lt\ s_2\ \lt\ \cdots\ \lt\ s_K\ \leq\ N $
- 入力はすべて整数
Sample Explanation 1
高橋君は、下記の手順で行動することで頂点 に到達できます。 - 頂点 から頂点 に移動する。 - 頂点 から頂点 に移動する。 - 頂点 にあるスイッチを押す。これによって、グラフ上のすべての辺の通行可能・通行不能の状態が反転する。 - 頂点 から頂点 に移動する。 - 頂点 から頂点 に移動する。 - 頂点 にあるスイッチを押す。これによって、グラフ上のすべての辺の通行可能・通行不能の状態が再び反転する。 - 頂点 から頂点 に移動する。 この手順における移動の回数は 回であり、これが考えられる最小の回数です。
Sample Explanation 2
与えられるグラフは、連結でないことや、多重辺を含むことがあります。 この入力例では、高橋君はどのように行動しても頂点 に到達することはできないので、 を出力します。