#ddcc2017quald. [ddcc2017_qual_d]石

[ddcc2017_qual_d]石

问题描述

有一个南北方向为 HH,东西方向为 WW 的网格状花园,第 i(1iH)i(1≦i≦H) 行,第 j(1jW)j(1≦j≦W) 列的格子记作 (i,j)(i,j)

其中,HHWW 是偶数。

每个格子最多有一个石头,而且至少有一个格子有石头。

初始花园状态由字符串 mi,jm_{i,j} 描述,如果格子 (i,j)(i,j) 有石头,则 mi,jm_{i,j} = S,如果没有石头,则 mi,jm_{i,j} = .

需要一次次地移除石头。

在移除石头后,如果花园在南北方向上呈对称状态,则得到快乐度 AA;如果花园在东西方向上呈对称状态,则得到快乐度 BB

其中,当花园在南北方向和东西方向上都呈对称状态时,得到的快乐度为 A+BA+B

请计算以任意顺序移除所有石头时可以获得的最大快乐度。

南北方向上的对称性定义如下:

  • 对于所有的 i,j(1iH,1jW)i,j(1≦i≦H,1≦j≦W),如果格子 (i,j)(i,j) 有石头,则格子 (H+1i,j)(H+1-i,j) 也有石头;如果格子 (i,j)(i,j) 没有石头,则格子 (H+1i,j)(H+1-i,j) 也没有石头。

东西方向上的对称性定义如下:

  • 对于所有的 i,j(1iH,1jW)i,j(1≦i≦H,1≦j≦W),如果格子 (i,j)(i,j) 有石头,则格子 (i,W+1j)(i,W+1-j) 也有石头;如果格子 (i,j)(i,j) 没有石头,则格子 (i,W+1j)(i,W+1-j) 也没有石头。

约束条件

  • 2H,W2002≦H,W≦200
  • H,WH,W 为偶数
  • 1A,B100001≦A,B≦10000
  • mi,jm_{i,j}S.
  • 至少存在一个格子有石头
  • H,W,A,BH,W,A,B 是给定的整数

输入

输入通过标准输入给出,格式如下:

HH WW AA BB m1,1...m1,Wm_{1,1}...m_{1,W} : mH,1...mH,Wm_{H,1}...m_{H,W}

输出

输出最大快乐度 xx

输入示例 1

4 4
2 5
....
.SS.
..S.

输出示例 1

12

例如,按顺序移除 (3,3)(3,3)(2,2)(2,2)(2,3)(2,3) 这三个格子的石头,此时移除格子 (3,3)(3,3) 时花园在东西方向上呈对称状态,移除格子 (2,3)(2,3) 时花园在南北方向和东西方向上都呈对称状态,得到的快乐度为 1212

输入示例 2

2 2
4 7
.S
S.

输出示例 2

11

不管什么顺序移除石头,除非移除最后一个石头,否则无法获得快乐度。

输入示例 3

4 8
9 13
.SS.....
.SS.....
.SS.....
.SS.....

输出示例 3

49