CF131F Present to Mom

题目描述

求一个 $n\times m$ 的字符矩阵内,有多少个不同的矩形包含不少于 $k$ 个下述图形: ``` 1 111 1 ``` 注意,这些图形可以相互重叠,但是不能完全重叠。

输入格式

第一行三个正整数,$n,m,k$。 接下来 $n$ 行,每行 $m$ 个字符描述矩阵。这些字符只可能是```0```或```1```。

输出格式

一行一个正整数,代表询问的答案。 (提示:本题请用```%I64d```或```cout```输出```long long```)

说明/提示

We'll number the rows and columns below starting from 1, the coordinates $ (p,q) $ will denote a cell in row $ p $ , column $ q $ . In the first sample Polycarpus should cut out any area containing a rectangle whose opposite corners lie in cells $ (1,1) $ and ( $ 3,4 $ ). Only rectangles with opposite corners in $ (1,1) $ and ( $ x,y $ ), where $ x>=3 $ and $ y>=4 $ fit the conditions. In the second sample any rectangle whose each side is no less than four, will do. The possible rectangle sizes are $ 4×4 $ , $ 4×5 $ , $ 5×4 $ and $ 5×5 $ . Such figures can be cut in 4 ways, 2 ways, 2 ways and 1 way correspondingly. Please do not use the %lld specificator to read or write 64-bit integers in C++. It is preferred to use cin, cout streams or the %I64d specificator.