만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

보드 색칠하기

시간 제한2초메모리 제한512 MB

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

보통10점 중 6점

유형
동적 계획법, 그리디, 행렬
정답자
아직 제출이 없습니다

문제

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

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

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

입력

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

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

출력

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

예제5

  1. 예제 1

    입력
    1 5
    #####
    
    예상 출력
    1
    
  2. 예제 2

    입력
    5 5
    #####
    .....
    #####
    .....
    #####
    
    예상 출력
    3
    
  3. 예제 3

    입력
    5 5
    ..#..
    ..#..
    #####
    ..#..
    ..#..
    
    예상 출력
    3
    
  4. 예제 4

    입력
    5 5
    #####
    ..#..
    #####
    ..#..
    #####
    
    예상 출력
    5
    
  5. 예제 5

    입력
    5 5
    .#.#.
    #####
    .#.#.
    #####
    .#.#.
    
    예상 출력
    8