맨해튼의 핫도그 가판대
시간 제한2초메모리 제한128 MB
w×h 격자에 있는 기존 핫도그 가게들을 피해 빈 교차점 두 곳을 골라, 두 곳의 최소 거리 중 작은 값이 최대가 되도록 한다.
문제
두 친구 버락과 미트는 각자 맨해튼에 핫도그 가판대를 하나씩 열려고 하며, 가장 좋은 두 위치를 찾고 있다.
두 사람 모두 노출을 극대화하기 위해 가판대를 교차로에 두고 싶어 한다. 맨해튼에는 이미 많은 가판대가 있으며 모두 교차로에 있다. 다른 가판대(상대방이 새로 세우는 가판대 포함)와 가까우면 손님이 줄어들기 때문에, 두 사람은 자신의 가판대를 다른 모든 가판대로부터 가능한 한 멀리 두고 싶어 한다.
맨해튼을 세로 도로 개와 가로 도로 개로 이루어진 유한한 격자로 생각하자. 세로 도로는 에, 가로 도로는 에 있다. 이웃한 평행 도로 사이의 간격은 모두 이므로, 두 교차로 과 사이의 거리는 이다.
어떤 교차로의 프라이버시는 그 교차로에서 다른 모든 가판대까지의 거리 중 최솟값이다. 두 개의 새 가판대를 놓고 나면 각 새 가판대도 상대방에게는 하나의 가판대가 되므로, 버락 위치의 프라이버시는 미트 위치까지의 거리에, 미트 위치의 프라이버시는 버락 위치까지의 거리에 영향을 받는다. 버락과 미트는 두 프라이버시 중 더 작은 값이 최대가 되도록 두 교차로를 고르려 한다. 그 최댓값을 출력하라.
입력
첫 줄에는 테스트 케이스의 수를 나타내는 양의 정수 하나가 주어진다(최대 ). 각 테스트 케이스는 다음과 같다.
- 세 정수 , , 가 공백으로 구분되어 한 줄에 주어진다(, ). 각각 기존 가판대의 수, 세로 도로의 수, 가로 도로의 수이다.
- 이어서 개의 줄에 각각 두 정수 , 가 공백으로 구분되어 주어진다(, ). 번째 기존 가판대가 있는 교차로이다.
모든 기존 가판대는 서로 다른 교차로에 있으며, 가판대가 없는 교차로가 적어도 두 개 있다.
출력
각 테스트 케이스마다 한 줄에 정수 하나를 출력한다. 버락과 미트가 동시에 얻을 수 있는 프라이버시의 최댓값이다.
참고
첫 번째 테스트 케이스에서는 격자에 기존 가판대가 한 곳에 있다. 새 가판대 두 개를 과 에 놓으면 각각의 프라이버시가 가 된다. 두 위치 모두 기존 가판대로부터 거리가 이상이고, 두 위치 사이의 거리도 이기 때문이다. 이보다 더 좋은 배치는 없으므로 답은 이다.
기존 가판대가 하나도 없으면 두 새 가판대를 서로 마주 보는 두 꼭짓점에 놓을 수 있으므로 답은 이다.