성냥개비와 정사각형

시간 제한1초메모리 제한128 MB

요약
가로줄과 세로줄로 표시된 성냥개비 격자에서 네 변이 모두 채워진 모든 크기의 정사각형 개수를 세는 문제입니다.
난이도

보통10점 중 6점

유형
행렬, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

테이블 위에 놓인 성냥개비들이 격자 모양을 이룬다. 어떤 정사각형이 성냥개비로 이루어졌다고 하려면 그 정사각형의 네 변을 따라 필요한 모든 성냥개비가 놓여 있어야 한다. 정사각형의 내부에 있는 성냥개비는 그 정사각형을 세는 데 영향을 주지 않는다.

주어진 성냥개비 배열에서 만들 수 있는 모든 정사각형의 개수를 구하라.

입력

입력은 여러 개의 배열로 이루어진다.

각 배열의 첫 번째 줄에는 행의 수 rr과 열의 수 cc가 공백으로 구분되어 주어진다. (1≤r,c≤20)(1 \le r,c \le 20)

이후 성냥개비 배열을 나타내는 2r+12r+1개의 줄이 주어진다. 1번째, 3번째, 5번째, ... 줄은 길이 cc의 문자열이며, 각 문자는 가로 성냥개비가 있음을 나타내는 하이픈(-) 또는 빈 공간을 나타내는 별표(*)이다. 2번째, 4번째, 6번째, ... 줄은 길이 c+1c+1의 문자열이며, 각 문자는 세로 성냥개비가 있음을 나타내는 막대(|) 또는 빈 공간을 나타내는 별표(*)이다.

0 0이 입력되면 입력이 끝난다.

출력

각 배열마다 한 줄에 정사각형의 개수 XX를 출력한다. 출력 형식은 X squares이다.

예제1

  1. 예제 1

    입력
    2 3
    --*
    |||*
    *-*
    |*||
    ---
    2 2
    --
    |||
    --
    |||
    --
    0 0
    
    예상 출력
    2 squares
    5 squares