問題一覧 > 通常問題

No.2094 Symmetry

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 126
作問者 : 👑 AngrySadEight / テスター : taiga0629kyopro
4 ProblemId : 8585 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-10-07 09:33:25

問題文

2N2N2N2N 列のマス目があり,どのマスも白か黒の色で塗られています.このマス目の iijj 列目のマスのことを,マス (i,j)(i,j) と表します.

最初,Si,j=S_{i,j}= # ならばマス (i,j)(i,j) が黒で塗られており,Si,j=S_{i,j}= .ならばマス (i,j)(i,j) が白で塗られています.

マス目に対して,次の状態が満たされているとき,マス目はシンメトリーであると言います.

  • マス目を左右反転させたものと,もとのマス目に対して,全てのマスの色が等しい.
  • 厳密には,1i2N,1j2N1 \leq i \leq 2N, 1 \leq j \leq 2N を満たすすべての i,ji,j に対して,マス(i,j)(i, j) とマス (i,2N+1j)(i, 2N + 1 - j) の色は等しい.

はちじくんは,このマス目に対して,次のような操作を 00 回以上の何回でも行うことができます.

  • 白で塗られたマスと,黒で塗られたマスを,一つずつ選ぶ.白で塗られていた方のマスの色を黒に,黒で塗られていた方のマスの色を白に変える.

マス目がなるべく整っているべきだと思っているはちじくんは,マス目の綺麗さを最大化したいです.マス目の綺麗さは次のように計算されます.

  • 黒で塗られているようなマス (i,j)(i,j) すべてに対して, Ci,jC_{i,j} を足し合わせた値が,マス目の綺麗さである.
  • ただし,それに加えて,マス目がシンメトリーであるならば,マス目の綺麗さKK 増加する.

達成可能な綺麗さの最大値を求めてください.

入力

NN KK
S1S_1
S2S_2
\vdots
S2NS_{2N}
C1,1C_{1,1} C1,2C_{1,2} \cdots C1,2NC_{1,2N}
C2,1C_{2,1} C2,2C_{2,2} \cdots C2,2NC_{2,2N}
\vdots
C2N,1C_{2N,1} C2N,2C_{2N,2} \cdots C2N,2NC_{2N,2N}

  • N,K,Ci,jN, K, C_{i,j} は整数である.
  • 1N2501 \leq N \leq 250
  • 0K10140 \leq K \leq 10^{14}
  • SiS_{i}#. からなる長さ 2N2N の文字列である.
  • 109Ci,j109-10^9 \leq C_{i,j} \leq 10^9

出力

答えを出力せよ.

サンプル

サンプル1
入力
1 22
#.
.#
13 41
39 8
出力
80

次のように操作を行うのが最適です.

  • マス (1,1)(1,1) とマス (1,2)(1,2) を選んで操作する.マス (1,1)(1,1) の色は白に,マス (1,2)(1,2) の色は黒になる.
  • マス (2,1)(2,1) とマス (2,2)(2,2) を選んで操作する.マス (2,1)(2,1) の色は黒に,マス (2,2)(2,2) の色は白になる.

このとき,マス目はシンメトリーでないため,綺麗さの値は 41+39=8041+39=80 となります.綺麗さの値をこれより大きくすることはできません.

サンプル2
入力
1 39
#.
.#
13 41
39 8
出力
93

次のように操作を行うのが最適です.

  • マス (1,2)(1,2) とマス (2,2)(2,2) を選んで操作する.マス (1,2)(1,2) の色は黒に,マス (2,2)(2,2) の色は白になる.

このとき,マス目はシンメトリーであるため,綺麗さの値は 13+41+39=9313+41+39=93 となります.綺麗さの値をこれより大きくすることはできません.

サンプル3
入力
1 1000000000
##
##
-1000000000 -1000000000
-1000000000 -1000000000
出力
-3000000000

綺麗さの値は負になることもあります.

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