atcoder#ABC236G. [ABC236G] Good Vertices
[ABC236G] Good Vertices
配点 : 点
問題文
頂点の有向グラフがあります。 個の頂点はそれぞれ頂点 、頂点 、、頂点 と呼ばれます。 時刻 には、このグラフには辺がありません。
について、時刻 に頂点 から頂点 への有向辺が追加されます。 (追加される辺が自己ループである場合、すなわち の場合もあります。)
頂点 から始め「現在いる頂点からちょうど 本の有向辺をたどって到達できる頂点を つ選び、選んだ頂点に移動する」ことをちょうど 回繰り返して到達できる頂点を「良い頂点」と呼びます。
について、頂点 が良い頂点となる最小の時刻を出力してください。ただし、頂点 が良い頂点となる時刻が存在しない場合は、代わりに を出力してください。
制約
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
出力
下記の形式の通り、 について、頂点 が良い頂点となる最小の時刻 を出力せよ。ただし、頂点 が良い頂点となる時刻が存在しない場合は、 とせよ。
4 5 3
2 3
3 4
1 2
3 2
2 2
-1 4 5 3
時刻 ではグラフは辺を持ちません。その後、以下の通りに辺の追加が行われます。
- 時刻 に、頂点 から頂点 への有向辺が追加されます。
- 時刻 に、頂点 から頂点 への有向辺が追加されます。
- 時刻 に、頂点 から頂点 への有向辺が追加されます。これによって、頂点 から頂点 に とちょうど 回の移動で到達できるようになり、頂点 は良い頂点に変わります。
- 時刻 に、頂点 から頂点 への有向辺が追加されます。これによって、頂点 から頂点 に とちょうど 回の移動で到達できるようになり、頂点 は良い頂点に変わります。
- 時刻 に、頂点 から頂点 への有向辺(自己ループ)が追加されます。これによって、頂点 から頂点 に とちょうど 回の移動で到達できるようになり、頂点 は良い頂点に変わります。
頂点 が良い頂点となることはありません。
2 1 1000000000
1 2
-1 -1