시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 512 MB | 30 | 25 | 24 | 85.714% |
JOI 諸島は太平洋に浮かぶ小さな島国である.JOI 諸島には N 個の島があり,1 から N までの番号が付 けられている.
JOI 諸島では島同士の通信は主に無線によって行われる.それぞれの島には電波の送信機と受信機がひ とつずつある.送信機は全方向に電波を送ることができるが,受信機は特定の方向からの電波しか受け取 ることができない.そのため,それぞれの受信機は,特定のひとつの島からの電波しか受け取ることがで きない.ただし,受信機の向きを変えることで,どの島からの電波を受け取ることができるかを変えるこ とができる.
現在,島 i (1 ≦ i ≦ N) の受信機は島 Ai (Ai ≠ i) からの電波を受け取ることができる.また,島 i の受信 機の向きを変えるのにかかるコストは,どう向きを変えるかによらず, Ci である.
JOI 諸島では,公共事業として電報サービスを行っている.島 i (1 ≦ i ≦ N) からの電波を島 j (1 ≦ j ≦ N, j ≠ i) の受信機が受け取ることができるとき,島 i から島 j に無線通信によって電報を送ることができる. また,電報はいくつかの島を経由して送ってもよい.すなわち,島 i,島 j,島 k (1 ≦ i, j, k ≦ N かつ i, j, k はそれぞれ相異なる) について,島 i から島 j に電報を送ることができ,島 j から島 k に電報を送ることが できるとき,島 i から島 k に電報を送ることができる.無線通信以外の方法で電報を送ることはできない.
JOI 諸島の逓信大臣であるあなたは,任意の島から任意の島へ電報を送れるようにしたい.そのために は,いくつかの島の受信機の向きを変える必要があるかもしれない.いくつかの島の受信機の向きを変え るのにかかるコストは,それぞれの受信機の向きを変えるのにかかるコストの総和である.
任意の島から任意の島へ電報を送れるようにするためにかかるコストの最小値を計算せよ.
JOI 諸島の島の数と,それぞれの島の受信機に関する情報が与えられたとき,任意の島から任意の島に 電報を送れるようにするためにかかるコストの最小値を求めるプログラムを作成せよ.
標準入力から以下のデータを読み込め.
標準出力に,任意の島から任意の島に電報を送れるようにするためにかかるコストの最小値を 1 行で出 力せよ.
번호 | 배점 | 제한 |
---|---|---|
1 | 10 | N ≦ 10 を満たす. |
2 | 30 | N ≦ 15 を満たす. |
3 | 30 | N ≦ 3 000 を満たす. |
4 | 30 | 追加の制限はない. |
4 2 2 1 4 1 3 3 1
4
島 2 の受信機の向きを変え,島 4 からの電波を受け取れるようにする.すると任意の島から任意の島へ 電報を送れるようになり,かかったコストは 4 である.
どのように受信機の向きを変えてもコストが 4 を下回ることはないので,4 を出力する.
4 2 2 1 6 1 3 3 1
5
まず,島 1 の受信機の向きを変え,島 4 からの電波を受け取れるようにする.次に,島 3 の受信機の向 きを変え,島 2 からの電波を受け取れるようにする.すると任意の島から任意の島へ電報を送れるように なり,かかったコストは 2 + 3 = 5 である.
どのように受信機の向きを変えてもコストが 5 を下回ることはないので,5 を出力する.
4 2 2 1 3 4 2 3 3
4
島 1 と島 3 の受信機の向きを変えればよい.
3 2 1 3 1 1 1
0
どの島の受信機の向きも変えなくてよい.