섬
시간 제한3초메모리 제한128 MB
부모가 자식보다 먼저 주어지는 중첩된 직교 다각형 해안선들이 있을 때 섬과 호수의 최대 중첩 깊이를 구한다.
문제
바이토티아(Byteotia)는 바다로 둘러싸인 섬이다. 바이토티아 안에는 호수가 있고, 그 호수 위에는 다시 섬이 있으며, 그 섬 위에 또 호수가 있고, 그 호수 위에 또 섬이 있는 식으로 중첩된 구조가 이어진다.
모든 물과 땅에 다음과 같이 차수(degree) 를 정의한다.
- 바다의 차수는 이다;
- 가장 바깥에 있는 섬인 바이토티아의 차수는 이다;
- 차수가 인 섬 위에 있는 호수의 차수는 이다;
- 차수가 인 호수 위에 있는 섬의 차수는 이다.
따라서 모든 섬의 차수는 홀수이고, 모든 호수(그리고 바다)의 차수는 짝수이다.
모든 호수와 섬의 해안선은 직각 다각형(rectilinear polygon) 모양이다. 즉 각 변은 이웃한 변과 수직이며(모든 변이 축 또는 축에 평행하다), 모든 꼭짓점의 좌표는 정수이다. 서로 다른 두 해안선은 만나거나 교차하지 않는다.
모든 해안선이 주어질 때, 섬과 호수의 차수 중 최댓값을 구하여라.
다음을 수행하는 프로그램을 작성하여라.
- 표준 입력에서 섬과 호수의 해안선을 읽는다,
- 섬 또는 호수의 최대 차수를 계산한다,
- 그 결과를 표준 출력에 쓴다.
입력
첫째 줄에 해안선의 개수 이 주어진다 ().
이어지는 개의 줄에는 각각 하나의 해안선이 주어진다. 각 줄은 그 해안선의 꼭짓점 개수인 짝수 로 시작하며 (), 그 뒤에 개의 정수 가 주어진다 (). 해안선의 꼭짓점은
이며, 데카르트 좌표계에서 반시계 방향으로 주어진다(즉 한 꼭짓점에서 다음 꼭짓점으로 이동할 때 항상 내부가 왼쪽에 있다).
해안선은 다음 순서로 주어진다.
- 각 호수의 해안선은 그 호수가 놓인 섬의 해안선보다 뒤에 주어진다,
- 각 섬의 해안선은 그 섬이 놓인 호수의 해안선보다 뒤에 주어진다.
지도 전체를 묘사하는 데 사용된 꼭짓점의 총 개수는 개를 넘지 않는다.
출력
섬 또는 호수의 최대 차수를 나타내는 정수 하나를 출력한다.
힌트
