찌름 수
시간 제한2초메모리 제한512 MB
ASCII 그림으로 주어진 히스토그램을 직사각형으로 나눌 때, 어떤 선분이든 내부를 지나는 직사각형 수의 최댓값을 최소로 하는 분할을 구합니다.
문제
히스토그램은 단순 직교 다각형 이며, 각 꼭짓점의 내각은 또는 이다. 에는 내부와 경계를 모두 포함한 안의 모든 점 를 볼 수 있는 수평 변이 있다. 변 가 점 를 볼 수 있다는 것은, 와 를 잇고 내부에 놓인 수직 선분 가 존재한다는 뜻이다.
개의 꼭짓점을 가진 히스토그램 와, 변이 수직 또는 수평인 직사각형들로 를 나눈 분할 을 생각하자. 직사각형의 꼭짓점이 모두 의 꼭짓점일 필요는 없다. 의 경계 위나 내부에 꼭짓점을 추가해도 된다.
내부에 놓인 수평 또는 수직 선분 의 찌름 수는, 가 내부(경계만이 아닌)를 지나는 의 직사각형 개수이다. 의 찌름 수는 내부에 놓인 모든 수평 또는 수직 선분 의 찌름 수 중 최댓값이다. 찌름 수가 가장 작은 분할 을 구하는 것이 목표이다.
입력
첫 줄에는 두 양의 정수 과 ()이 주어지며, 이는 히스토그램을 나타내는 표의 행 수와 열 수이다. 다음 개의 줄에는 각각 정확히 개의 문자가 주어진다. *는 히스토그램의 경계를 나타내고, 나머지 칸은 .으로 채워져 있다. 히스토그램의 각 변에는 *가 적어도 세 개 있다. 변은 4개 이상 16개 이하이며, 어떤 두 변도 겹치거나 교차하거나 닿지 않는다. 즉 각 *는 정확히 다른 두 *와 인접한다.
출력
주어진 히스토그램의 찌름 수를 한 줄에 출력한다.