Shooter Island
시간 제한3초메모리 제한512 MB
50 × 100000 격자에서 직사각형이 침수될 때마다, 반지름 0.31416인 배가 남은 물 위에서 두 칸 사이를 지날 수 있는지 판정한다.
문제
최근 대위로 진급했고, 부하들은 폭풍 속에서 특수 임무를 수행하고 있다. 전장은 다소 특이한데, 북극권 위 거대한 유빙 위에 있다. 당신은 본부에서 작전을 지휘한다. 고성능 컴퓨터 여러 대가 전장의 상황을 실시간으로 알려 주며, AI 인터페이스는 전장을 단위 정사각형들의 격자로 모델링한다. 각 단위 정사각형은 격자에서의 행과 열 번호로 식별된다. 단위 정사각형들로 이루어진 더 큰 직사각형은 서로 반대쪽 모서리에 있는 두 단위 정사각형의 쌍으로 나타낸다. 처음에는 모든 칸이 얼음으로 덮여 있다.
컴퓨터에서 받는 정보는 두 가지 종류가 있다.
- 명중 정보: 적이 단위 정사각형 [x1,y1]과 [x2,y2]로 나타내는 직사각형을 명중시켰다. 그러면 그 직사각형은 곧바로 차가운 북극 바닷물로 범람한다.
- 부하들의 질의: 부하들은 배를 타고 [x1,y1]에서 [x2,y2]로 갈 수 있는지 묻는다. 배는 반지름이 0.31416인 원으로 나타낼 수 있다. 배는 항상 물 위에 완전히 있어야 하고, 전장 영역을 벗어날 수 없다.
부하들에게 도움이 필요하다! 이들을 안정적으로 이끌 수 있겠는가?
입력
첫째 줄에는 정수 L (1 ≤ L ≤ 2 · 105)이 주어지며, 이는 뒤따르는 줄의 수이다. 다음 L개 줄 각각에는 다섯 개의 정수 t, x1, y1, x2, y2 (t ∈ {0, 1}, 1 ≤ x1, x2 ≤ 50, 1 ≤ y1, y2 ≤ 105)가 주어진다. t는 정보의 종류를 나타내고, [x1, y1]과 [x2, y2]는 각각의 단위 정사각형을 지정한다.
출력
각 질의마다 단위 정사각형 [x1,y1]에서 단위 정사각형 [x2,y2]로 항해할 수 있으면 1을, 그렇지 않으면 0을 출력한다.