직교 다각형
시간 제한1초메모리 제한128 MB
정수 좌표를 가진 n개의 점이 주어질 때, 이 점들을 꼭짓점으로 하는 단순 직교 다각형을 만들 수 있는지 판정하고, 가능하면 둘레를, 불가능하면 -1을 출력한다.
문제
평면 위에 정수 좌표를 갖는 점 개가 주어진다. 이 점들을 꼭짓점으로 하는 단순 직교 다각형(simple rectilinear polygon)을 만들 수 있는지 판별하여라.
직교 다각형은 다음 조건을 모두 만족한다.
- 꼭짓점이 개 이상이다.
- 모든 변은 수평(가로) 또는 수직(세로)이다.
- 각 꼭짓점은 정확히 하나의 수평 변과 하나의 수직 변의 끝점이다.
- 단순 다각형이다. 즉, 끝점을 공유하는 이웃한 두 변을 제외하면 어떤 두 변도 서로 교차하지 않으며, 다각형 내부에 구멍이 없다.
주어진 모든 점을 남김없이 꼭짓점으로 사용해야 한다. 조건을 만족하는 다각형이 존재하면 그 다각형의 둘레(모든 변의 길이의 합)를, 존재하지 않으면 을 출력하여라.
입력
첫째 줄에 테스트 케이스의 개수가 정수로 주어진다.
각 테스트 케이스는 점의 개수 ()으로 시작하고, 이어서 각 점의 좌표와 좌표를 나타내는 정수 쌍이 개 주어진다.
출력
각 테스트 케이스마다 한 줄씩 출력한다. 조건을 만족하는 직교 다각형이 존재하면 그 다각형의 둘레 길이를 정수로 출력하고, 존재하지 않으면 을 출력한다.