만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Snake

시간 제한1초메모리 제한512 MB

요약
y = 0 벽 위에 있는 폴리라인을 강체 이동과 회전만으로 옮겨 원점의 구멍을 지나 벽 아래로 완전히 내려갈 수 있는지 판정합니다.
난이도

어려움10점 중 9점

유형
기하, 이분 탐색
정답자
아직 제출이 없습니다

문제

Snake는 자기 자신과 교차하지 않는 꼭짓점 nn개짜리 꺾은선이다. 처음에 ii번째 꼭짓점의 좌표는 (xi,yi)(x_i, y_i)이다. Snake는 평행 이동과 회전으로 연속해서 움직일 수 있지만, 모양은 바뀌지 않는다. 선분의 길이와 선분 사이의 각은 그대로 유지된다. 직선 y=0y = 0은 벽이고, (0,0)(0, 0)에 작은 구멍이 있다. Snake가 이 구멍을 통과할 수 있는지 판단하라. 처음에는 Snake의 모든 점이 y>0y > 0을 만족한다. 움직인 뒤에는 Snake의 모든 점이 y<0y < 0을 만족해야 한다.

입력

첫 줄에 정수 nn (2≤n≤10002 \le n \le 1000)이 주어진다. 이어지는 nn개의 줄에는 정수 xix_i, yiy_i가 한 쌍씩 주어진다 (0≤xi≤1090 \le x_i \le 10^9, 1≤yi≤1091 \le y_i \le 10^9, (xi,yi)≠(xi+1,yi+1)(x_i, y_i) \ne (x_{i+1}, y_{i+1})). 꺾은선은 자기 자신과 교차하지 않는다. 세 점이 한 직선 위에 놓이지 않는다.

출력

Snake가 구멍을 통과할 수 있으면 "Possible"을, 그렇지 않으면 "Impossible"을 출력한다.

힌트

첫 번째 예제의 풀이는 다음과 같다.

  • Snake를 −y-y 방향으로 1만큼 이동한다.
  • (0,0)(0, 0)을 중심으로 반시계 방향으로 90도 회전한다.
  • Snake를 −y-y 방향으로 1만큼 이동한다.
  • (0,0)(0, 0)을 중심으로 시계 방향으로 90도 회전한다.
  • Snake를 −y-y 방향으로 1만큼 이동한다.
  • (0,0)(0, 0)을 중심으로 반시계 방향으로 90도 회전한다.
  • Snake를 −y-y 방향으로 2만큼 이동한다.

예제2

  1. 예제 1

    입력
    4
    0 1
    1 1
    1 2
    2 2
    
    예상 출력
    Possible
    
  2. 예제 2

    입력
    11
    63 106
    87 143
    102 132
    115 169
    74 145
    41 177
    56 130
    28 141
    19 124
    0 156
    22 183
    
    예상 출력
    Impossible