luogu#P6600. 「EZEC-2」字母

「EZEC-2」字母

题目背景

给你一个 0101 矩阵,我们希望你从中找到由连续的 11 组成的「字母 T」。

题目描述

「字母 T」由一横和一竖组成,竖一定在横的下方(您可以借助英文字母 T 辅助理解)。

在本题中,我们定义「横」为组成「字母 T」的水平线段,「竖」为组成「字母 T」的竖直线段。

注意「横」与「竖」的公共部分同时计入横长和竖长。

合法的「字母 T」的「横」长必须为奇数且「竖」与「横」交于「横」的中点,「横」长最小为 33 ,「竖」长最小为 22

如:

$$ \begin{array}{ccc} 0\color{Red}111\color{black}1\\ 00\color{Red}1\color{black}01 \end{array} $$

只含有一个合法的「字母 T」(即标红部分)。

现在给你一个 n×mn \times m0101 矩阵,请你求出在这个矩阵中合法的「字母 T」中,一共有多少个满足以下条件的「字母 T」。

设某个合法的「字母 T」的「横」长为 ww,「竖」长为 hh,有:

  • waw\ge a
  • hbh\ge b
  • w×hsw\times h \ge s
  • w+hxw+h\ge x

两个「字母 T」不相同即两个「字母 T」的 「横」长「竖」长最左上角的坐标 不同。

输入格式

第一行,两个整数 n,mn,m,表示给定的 0101 矩阵共有 nnmm 列。

第二行,四个整数 a,b,s,xa,b,s,x

接下来 nn 行,每行 mm 个数,只可能是 00 / 11,为给定的矩阵。

输出格式

输出一个整数,表示有多少个满足条件且合法的「字母 T」。

5 5
3 3 18 9
11111
01110
11111
01110
11111
2
5 5
3 3 15 7
11111
01110
11111
01110
11111
7
10 10
5 4 40 11
0011111111
1011110101
1111111111
1001111101
1111101111
1111110110
0111011101
0111111110
0011111111
0111111101

8

提示

【样例解释 #1】

$$ \begin{array}{ccc} \color{Red}11111\qquad11111\\01\color{Red}1\color{black}10\qquad01\color{Red}1\color{black}10\\ 11\color{Red}1\color{black}11\qquad11\color{Red}1\color{black}11\\ 01\color{Red}1\color{black}10\qquad01\color{Red}1\color{black}10\\ 11111\qquad11\color{Red}1\color{black}11\\\\ 第\ 1\ 个\qquad第\ 2\ 个 \end{array} $$

除了以上两个「字母 T」,没有其他满足条件且合法的「字母 T」,故输出 22

【数据范围】
| 测试点编号 | n,mn,m\le | a,ba,b\le | ss\le | xx\le | | :----------: | :----------: | :----------: | :----------: | :----------: | | 141 \sim 4 | 100100 | 100100 |10410^4|200200| | 585 \sim 8 | 500500 | 500500 |2.5×1052.5\times 10^5|10410^4| | 9,109,10 | 3×1033\times 10^3 | 00 |00|00| | 111311\sim 13 | 3×1033\times 10^3 |3×1033\times 10^3|00|6×1036\times 10^3| | 141614\sim 16 | 3×1033\times 10^3 |3×1033\times 10^3|9×1069\times 10^6|00| | 172017\sim 20 | 3×1033\times 10^3 |3×1033\times 10^3|9×1069\times 10^6|6×1036\times 10^3|

对于 100%100\% 的数据,满足 1n,m3×1031 \le n,m \le 3\times 10^30a,b3×1030 \le a,b \le 3\times10^30s9×1060 \le s \le 9\times10^6 0x6×103\space0 \le x \le 6\times10^3