No.2094 Symmetry
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 126
作問者 : 👑
AngrySadEight
/ テスター :
taiga0629kyopro
タグ : / 解いたユーザー数 126
作問者 : 👑


問題文最終更新日: 2022-10-07 09:33:25
問題文
行 列のマス目があり,どのマスも白か黒の色で塗られています.このマス目の 行 列目のマスのことを,マス と表します.
最初, #
ならばマス が黒で塗られており, .
ならばマス が白で塗られています.
マス目に対して,次の状態が満たされているとき,マス目はシンメトリーであると言います.
- マス目を左右反転させたものと,もとのマス目に対して,全てのマスの色が等しい.
- 厳密には, を満たすすべての に対して,マス とマス の色は等しい.
はちじくんは,このマス目に対して,次のような操作を 回以上の何回でも行うことができます.
- 白で塗られたマスと,黒で塗られたマスを,一つずつ選ぶ.白で塗られていた方のマスの色を黒に,黒で塗られていた方のマスの色を白に変える.
マス目がなるべく整っているべきだと思っているはちじくんは,マス目の綺麗さを最大化したいです.マス目の綺麗さは次のように計算されます.
- 黒で塗られているようなマス すべてに対して, を足し合わせた値が,マス目の綺麗さである.
- ただし,それに加えて,マス目がシンメトリーであるならば,マス目の綺麗さは 増加する.
達成可能な綺麗さの最大値を求めてください.
入力
- は整数である.
- は
#
,.
からなる長さ の文字列である.
出力
答えを出力せよ.
サンプル
サンプル1
入力
1 22 #. .# 13 41 39 8
出力
80
次のように操作を行うのが最適です.
- マス とマス を選んで操作する.マス の色は白に,マス の色は黒になる.
- マス とマス を選んで操作する.マス の色は黒に,マス の色は白になる.
このとき,マス目はシンメトリーでないため,綺麗さの値は となります.綺麗さの値をこれより大きくすることはできません.
サンプル2
入力
1 39 #. .# 13 41 39 8
出力
93
次のように操作を行うのが最適です.
- マス とマス を選んで操作する.マス の色は黒に,マス の色は白になる.
このとき,マス目はシンメトリーであるため,綺麗さの値は となります.綺麗さの値をこれより大きくすることはできません.
サンプル3
入力
1 1000000000 ## ## -1000000000 -1000000000 -1000000000 -1000000000
出力
-3000000000
綺麗さの値は負になることもあります.
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。