격자 패널
시간 제한1초메모리 제한128 MB
구멍이 있는 격자 패널에서 구멍에 닿은 모든 칸과 한 행이나 한 열을 함께 덮는 가장 작은 직교 볼록 영역의 넓이를 구합니다.
문제
한 공장에서 격자 패널을 생산한다. 갓 만든 패널에 결함이 생길 때가 있는데, 결함은 패널의 격자점에 뚫린 구멍이다. 작업자들은 결함이 있는 패널을 모두 모아, 구멍이 포함된 부분을 잘라 내고 그 자리를 결함 없는 패널 조각으로 교체한다. 절단은 반드시 격자선을 따라야 하며, 각 구멍에 인접한 모든 격자 칸을 포함하는 하나의 연결된 영역을 제거한다. 이 연결된 영역은 다음 조건을 모두 만족해야 한다.
- (i) 각 구멍에 인접한 모든 격자 칸을 포함한다.
- (ii) 기준 절단 띠로 선택한 패널의 한 행 또는 한 열에 속하는 모든 격자 칸을 포함한다.
- (iii) 직교 볼록 다각형이다.
- (iv) (i), (ii), (iii)을 만족하는 모든 직교 다각형 중에서 넓이가 최소이다.
경계가 수평 또는 수직 선분으로만 이루어진 다각형을 직교 다각형이라 한다. 직교 다각형이면서, 임의의 수평선 및 수직선과의 교집합이 공집합이거나 하나의 선분인 경우 그 다각형을 직교 볼록 다각형이라 한다.
예를 들어 그림 1(a)의 구멍이 개 있는 패널을 생각하자. 아래에서 네 번째 행을 기준 절단 띠로 선택하면 제거되는 연결 영역은 격자 칸 개를 갖는다(그림 1(b)). 대신 왼쪽에서 네 번째 열을 선택하면 제거되는 연결 영역은 격자 칸 개를 가지며(그림 1(c)), 이것이 가능한 가장 작은 직교 볼록 다각형이다.

그림 1
패널의 크기와 구멍의 위치가 주어질 때, 위 조건을 만족하는 가장 작은 직교 볼록 다각형을 구하는 프로그램을 작성하라. 각 격자 칸의 넓이는 이므로, 그림 1(c)의 직교 볼록 다각형의 넓이는 이다.
입력
입력은 표준 입력으로 주어진다. 첫째 줄에 테스트 케이스의 수 가 주어진다. 각 테스트 케이스의 형식은 다음과 같다.
각 테스트 케이스의 첫째 줄에는 패널의 너비와 높이를 나타내는 두 정수 와 가 주어진다(). 다음 줄에는 구멍의 개수 이 주어진다(). 이어지는 개의 줄에는 각 구멍의 좌표를 나타내는 두 정수 와 가 주어진다(, ). 패널의 왼쪽 아래 모서리가 좌표계의 원점이다. 같은 줄의 정수들은 하나의 공백으로 구분된다.
출력
출력은 표준 출력으로 한다. 각 테스트 케이스마다, 패널의 모든 구멍을 최소로 덮는 직교 볼록 다각형의 넓이를 정수 하나로 한 줄에 출력한다.