∀nnihilation

시간 제한0.5초메모리 제한1024 MB

요약
두 플레이어가 번갈아 아직 소멸하지 않은 다각형 하나를 x축 또는 y축에 대해 대칭 이동한다. 차례를 마친 뒤 평행 이동으로 겹치는 다각형 쌍이 생기면 두 다각형이 소멸하며, 선공이 이기면 1을 출력한다.
난이도

어려움10점 중 8점

유형
게임 이론, 기하, 해시맵, 정렬
정답자
아직 제출이 없습니다

문제

다각형으로 게임을 해 보자!

처음에 xyxy평면에 11번부터 NN번까지 NN개의 단순 다각형이 주어진다. ii번 다각형은 꼭짓점이 c_ic\_i개이고, 각 꼭짓점의 좌표는 반시계 방향으로 (x_i1,y_i1)(x\_{i 1}, y\_{i 1}), (x_i2,y_i2)(x\_{i 2}, y\_{i 2}), ⋯\cdots, (x_ic_i,y_ic_i)(x\_{i c\_i}, y\_{i c\_i})이다. 두 플레이어는 자신의 차례에 아래와 같은 행동 중 하나를 할 수 있다.

  • 누구에게도 선택되지 않은 다각형 하나를 선택해 xx축을 기준으로 대칭 이동한다.
  • 누구에게도 선택되지 않은 다각형 하나를 선택해 yy축을 기준으로 대칭 이동한다.

자신의 차례를 마쳤을 때, 평행 이동하여 일치하는 두 다각형이 존재한다면 그 두 다각형은 소멸한다. 이후 소멸한 두 다각형은 선택할 수 없다.

자신의 차례에 어떠한 행동도 할 수 없는 플레이어가 패배한다.

두 플레이어가 최선을 다해 게임을 플레이했을 때 누가 이길지 계산해 보자.

입력

첫 번째 줄에 단순 다각형의 개수 NN이 주어진다. (1≤N≤3,333)(1 \le N \le 3\\,333)

두 번째 줄부터 NN개의 줄에 걸쳐 단순 다각형의 정보가 주어진다. 그중 ii번째 줄에는 ii번 다각형의 꼭짓점의 개수 c_ic\_i와, 각 꼭짓점의 좌표를 나타내는 정수 x_i1x\_{i 1}, y_i1y\_{i 1}, x_i2x\_{i 2}, y_i2y\_{i 2}, ⋯\cdots, x_ic_ix\_{i c\_i}, y_ic_iy\_{i c\_i}가 공백으로 구분되어 주어진다. (3≤c_i≤10,000;(3 \le c\_i \le 10\\,000; −109≤x_ij,y_ij≤109)-10^9 \le x\_{i j}, y\_{i j} \le 10^9)

모든 다각형의 꼭짓점의 개수의 합은 10,00010\\,000 이하이다.

처음에 평행 이동하여 일치하는 두 다각형이 존재하는 경우는 주어지지 않는다. 서로 다른 다각형끼리 겹칠 수 있음에 유의하라.

출력

첫 번째 줄에 선공이 이긴다면 1을, 후공이 이긴다면 0을 출력한다.

예제1

  1. 예제 1

    입력
    3
    4 1 0 1 1 0 2 -1 1
    5 0 0 1 1 -1 1 -1 -1 1 -1
    4 -1 -1 0 -2 1 -1 1 0
    
    예상 출력
    1