Raspad
시간 제한6초메모리 제한1024 MB
n행 m열 격자에서 연속한 행 구간마다 1로 이루어진 연결 성분의 개수를 구해 모두 더한다. m은 최대 50, n은 최대 100000이다.
문제
근처의 초원은 개의 행과 개의 열로 이루어진 정사각형 칸으로 나뉘어 있다. 행은 위에서 아래로 부터 까지, 열은 왼쪽에서 오른쪽으로 부터 까지 번호가 붙어 있다. 어떤 칸은 풀밭("1"로 표시)이고, 어떤 칸은 봄철 폭우로 물에 잠겨 있다("0"로 표시).
한 풀밭 칸에서 위, 아래, 왼쪽, 오른쪽으로 인접한 풀밭 칸으로 한 번씩 이동하는 과정을 반복해 다른 풀밭 칸에 도달할 수 있으면, 두 풀밭 칸은 연결되어 있다. 컴포넌트는 서로 연결된 풀밭 칸의 집합 중 극대인 것이다. 즉 칸 가 컴포넌트 에 속하면, 와 인접한 풀밭 칸도 모두 에 속한다.
초원 와 인덱스 , ()가 주어질 때, 는 원래 초원 에서 번째 행부터 번째 행까지(번째 행과 번째 행 포함)만 남긴 초원이다. 초원 의 복잡도는 그 초원에 있는 풀밭 칸의 컴포넌트 개수이다. 가능한 모든 초원 의 복잡도의 합을 구하시오.
입력
첫째 줄에 초원의 크기를 나타내는 양의 정수 과 이 주어진다. (, )
다음 개의 줄에는 초원의 한 행을 나타내는, 길이가 정확히 인 문자열이 하나씩 주어진다. 문자열의 각 문자는 숫자 "0" 또는 "1"이다.
출력
모든 복잡도의 합을 출력한다.
힌트
첫 번째 예제 설명: 초원 의 복잡도를 로 나타내면 , , , , , , , , , 이고, 이 수들의 합은 이다.