幹線道路 (Trunk Road)
日本語
Language
Contribute a translation- Time limit
- 2000 ms
- Memory limit
- 256 MB
- Submissions
- 0
- Correct
- 0
- Solved by
- 0
- AC rate
- —
Statement
JOI 市は,東西方向にまっすぐに伸びる \(H\) 本の道路と,南北方向にまっすぐに伸びる \(W\) 本の道路によって,碁盤の目の形に区分けされている.道路と道路の間隔は \(1\) である.JOI 市では,これら \(H+W\) 本の道路から,東西方向に \(1\) 本,南北方向に \(1\) 本,合計 \(2\) 本の道路を幹線道路として選ぶことになった.
北から \(i\) 本目 (\(1≦i≦H\)) の道路と,西から \(j\) 本目 (\(1≦j≦W\)) の道路の交差点を,交差点 \((i,j)\) とする.交差点 \((i,j)\) と北から \(m\) 本目 (\(1≦m≦H\)) の道路の距離は \(|i-m|\) であり,交差点 \((i,j)\) と西から \(n\) 本目 (\(1≦n≦W\)) の道路の距離は \(|j-n|\) である. また,交差点 \((i,j)\) の近くには \(A_{i,j}\) 人の住人が住んでいる.
\(2\) 本の幹線道路を選んだときの,JOI 市の全ての住人に対する,最寄りの交差点から近い方の幹線道路への距離の総和の最小値を求めよ.
Constraints
- \(2 ≦ H ≦ 25\)
- \(2 ≦ W ≦ 25\)
- \(0 ≦ A_{i,j} ≦ 100\) (\(1 ≦ i ≦ H\), \(1 ≦ j ≦ W\))
Input
入力は以下の形式で標準入力から与えられる.
\(H\) \(W\)
\(A_{1,1}\) \(A_{1,2}\) ... \(A_{1,W}\)
:
\(A_{H,1}\) \(A_{H,2}\) ... \(A_{H,W}\)
Output
JOI 市の全ての住人に対する,最寄りの交差点から近い方の幹線道路への距離の総和の最小値を出力せよ.
Subtasks
小課題 1 [10点]
- \(A_{i,j} = 1\) (\(1 ≦ i ≦ H\), \(1 ≦ j ≦ W\))
小課題 2 [90点]
- 追加の制限はない.
Examples
3 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
8
例えば,北から \(2\) 本目の道路と西から \(1\) 本目の道路を幹線道路とすればよい.
5 5 1 2 3 1 5 1 22 11 44 3 1 33 41 53 2 4 92 35 23 1 4 2 6 3 5
164
北から \(3\) 本目の道路と西から \(2\) 本目の道路を幹線道路とすればよい.
Notes
JOI 2018 · JCIOI · CC BY-SA 4.0
Tags
No tags yet