보드 색칠하기

흑백 격자 그림이 주어질 때, 필요한 검은 칸만 정확히 칠하는 가로 또는 세로 획의 최소 개수를 구한다.

보통6동적 계획법그리디행렬아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

단위 정사각형으로 나누어진 직사각형 보드가 있다. 처음에는 모든 칸이 흰색이다. 이 중 일부 칸을 검정색으로 칠해서 주어진 그림을 만들려고 한다.

한 번 색칠하는 것은 한 행 또는 한 열에서 연속된 흰색 칸을 골라 모두 검정색으로 칠하는 것이다. 고른 칸은 모두 흰색이어야 한다. 그래서 이미 검정색이 된 칸 위를 지나갈 수 없고, 흰색으로 남겨야 하는 칸을 칠할 수도 없다.

그림을 완성하는 데 필요한 최소 색칠 횟수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 보드의 세로 크기 NN과 가로 크기 MM이 주어진다 (1N,M501 \le N, M \le 50).

둘째 줄부터 NN개의 줄에 각각 MM개의 문자가 주어진다. '.'은 흰색으로 남겨야 하는 칸, '#'은 검정색으로 칠해야 하는 칸이다.

출력

최소 색칠 횟수를 출력한다. 칠해야 하는 칸이 하나도 없으면 0을 출력한다.