|시간 제한||메모리 제한||제출||정답||맞은 사람||정답 비율|
|6 초||1024 MB||15||10||9||75.000%|
A nearby meadow consists of quadratic fields organized in n rows and m columns. The rows are denoted with numbers from 1 to n from top to bottom, and the columns with numbers from 1 to m from left to right. Some fields are grass fields (denoted with “1”), whereas some are underwater because of the heavy spring rainfall (denoted with “0”). Two grass fields are connected if it is possible to get from one field to another using a series of moves where, in each step, we move to the adjacent grass field located up, down, left or right. A component is a set of mutually connected grass fields that is maximal in the sense that, if A is a field in the component K, then all the adjacent grass fields of A are also in the component K.
For a given meadow P and indices a and b (1 ≤ a ≤ b ≤ n), Pba is a meadow consisting of rows between the a th and the b th row of the original meadow P (including both a th and b th row). The complexity of meadow Pba is the number of components of the grass fields located on the meadow. Determine the sum of the complexities of all possible meadows Pba.
The first line of input contains the positive integers n and m — dimensions of the meadow. (1 ≤ n ≤ 100 000, 1 ≤ m ≤ 50) Each of the following n lines contains a string of exactly m characters that denotes one row of the meadow. Each character of the string is either the digit “0” or the digit “1”.
You must output the required sum of all complexities.
4 4 1101 1111 1010 1011
5 7 0100010 0111110 0101001 1111011 0100100
4 12 011111010111 110000101001 110111101111 111101111111
Explanation of the first sample: If we denote the complexity of meadow Pba with |Pba| then it holds that |P11| = 2, |P21| = 1, |P31| = 1, |P41| = 1, |P22| = 1, |P32| = 1, |P42| = 1, |P33| = 2, |P43| = 2, |P44| = 2, and the sum of these numbers is 14.