atcoder#ABC261H. [ABC261Ex] Game on Graph
[ABC261Ex] Game on Graph
配点 : 点
問題文
頂点 辺の有向グラフがあります。辺 は頂点 から への有向辺で、重みが です。
最初、頂点 に駒が置かれています。高橋君と青木君が交互に次のように駒を動かすゲームを行います。
- 駒が置かれている頂点から出る辺が存在しないとき、ゲームを終了する。
- 駒が置かれている頂点から出る辺が存在するとき、そのうちいずれかの辺を選び、選んだ辺に沿って駒を移動する。
ゲームは高橋君から始め、高橋君はゲームが終了するまでに通った辺の重みの和を小さくしようとし、青木君は大きくしようとします。 人が目指すものはより厳密には、次の通りです。 高橋君は、ゲームを有限回の操作で終了させることを最優先し、それが可能ならば、ゲームが終了するまでに通る辺の重みの和を小さくしようとします。 青木君は、ゲームを有限回の操作で終了させないことを最優先し、それが不可能ならば、ゲームが終了するまでに通る辺の重みの和を大きくしようとします。 (駒が同じ辺を複数回通った場合は、重みはその回数だけ加算されるものとします。)
人が最善を尽くしたときゲームが有限回の操作で終了するか判定し、終了するならば、ゲームが終了するまでに通る辺の重みの和を求めてください。
制約
- 多重辺は存在しない。すなわち のとき
- 自己辺は存在しない。すなわち
- 入力に含まれる値は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
人が最善を尽くしたとき、ゲームが有限回の操作で終了しないならば INFINITY
と出力せよ。
有限回の操作で終了するならば、ゲームが終了するまでに通る辺の重みの和を出力せよ。
7 6 1
1 2 1
1 3 10
2 4 100
2 5 102
3 6 20
3 7 30
40
まず高橋君は頂点 に駒を動かし、次に青木君が頂点 に駒を動かし、ゲームが終了します。 ゲームが終了するまでに通る辺の重みの和は になります。
3 6 3
1 2 1
2 1 2
2 3 3
3 2 4
3 1 5
1 3 6
INFINITY
有限回の操作でゲームは終了しません。
4 4 1
1 2 1
2 3 1
3 1 1
2 4 1
5
と駒は動かされます。