問題一覧 > 通常問題

No.2509 Beam Shateki

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 90
作問者 : 👑 KA37RI / テスター : PCTprobability 👑 Mizar 👑 seekworser 👑 amentorimaru
1 ProblemId : 9900 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-11-04 03:50:46

問題文

H+2H+2W+2W+2 列のマス目があります。マス目の行および列は上から 0,1,...,H+10, 1, ..., H+1 行目、左から 0,1,...,W+10, 1, ..., W+1 列目と番号がついており、 ii 行目 jj 列目のマスはマス (i,j)(i,j) です。
外側のマスを以下のいずれかの条件を満たすマスと定義します。また、外側のマス以外のマスを内側のマスと定義します。

  • 00 行目に位置する
  • H+1H+1 行目に位置する
  • 00 列目に位置する
  • W+1W+1 列目に位置する

内側のマスには正整数が書かれた箱がそれぞれ 11 つずつ置かれており、マス (i,j)(i,j) に置かれた箱に書かれている数字は Ai,jA_{i,j} で、操作開始前、すべての箱は破壊されていません。

このマス目に対して、以下のビームを放つ操作を高々 22 回まで行うことができます。

ビームを放つ操作

  1. 外側のマスを 11 つ選び現在地とする。
  2. dx,dyd_x,d_y をそれぞれ独立に 1,0,1-1,0,1 のいずれかから選ぶ。ただし、 dx=dy=0d_x=d_y=0 であってはならない。
  3. 操作を終了していない限り、以下の行動を順に繰り返す。
    • 現在地がマス (x,y)(x, y) であるとき、マス (x+dx,y+dy)(x + d_x, y + d_y) が存在しない、もしくはマス (x+dx,y+dy)(x + d_x, y + d_y) が外側のマスならば操作を終了する。
    • 現在地がマス (x,y)(x, y) であるとき、新たにマス (x+dx,y+dy)(x + d_x, y + d_y) を現在地として更新する。
    • 現在地に置かれている箱が既に破壊されていなければそれを破壊する。

高々 22 回の操作の終了後に、破壊された箱に書かれている数字の総和の最大値を求めてください。

入力

H WA1,1 A1,2  A1,WA2,1 A2,2  A2,WAH,1 AH,2  AH,WH\ W \\
A_{1,1}\ A_{1,2}\ \dots\ A_{1,W}\\
A_{2,1}\ A_{2,2}\ \dots\ A_{2,W}\\
\vdots \\
A_{H,1}\ A_{H,2}\ \dots\ A_{H,W}

制約

  • 1H, W1001 \le H,\ W \le 100
  • 1Ai,j10000 (1iH, 1jW)1 \le A_{i,j} \le 10000\ (1 \le i \le H,\ 1 \le j \le W)

出力

答えを出力せよ。

サンプル

サンプル1
入力
4 3
2 3 6
2 5 7
3 2 1
1 1 3
出力
28

11 回目では、 マス (0,2)(0,2) から下方向( (dx,dy)=(1,0)(d_x,d_y) = (1,0) )にビームを放ち、それぞれ 3, 5, 2, 13,\ 5,\ 2,\ 1 が書かれた箱を破壊します。

22 回目では、 マス (0,3)(0,3) から下方向( (dx,dy)=(1,0)(d_x,d_y) = (1,0) )にビームを放ち、それぞれ 6, 7, 1, 36,\ 7,\ 1,\ 3 が書かれた箱を破壊します。

最終的に、破壊された箱に書かれた数字の総和は、 3+5+2+1+6+7+1+3=283+5+2+1+6+7+1+3 = 28 です。

破壊された箱に書かれた数字の総和を 2929 以上にすることはできないので、 2828 を出力します。

サンプル2
入力
3 3
3 1 1
1 3 1
3 3 9
出力
21

11 回目では マス (0,0)(0,0) から右下方向( (dx,dy)=(1,1)(d_x,d_y) = (1,1) )にビームを放ち、22 回目では マス (3,0)(3,0) から右方向( (dx,dy)=(0,1)(d_x,d_y) = (0,1) )にビームを放つのが最適です。 22 回目について、すでに破壊された箱を再度破壊することができない点に注意してください。

サンプル3
入力
1 1
10000
出力
10000

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。