Master of Both V
시간 제한5초메모리 제한2048 MB
삽입과 삭제 후마다, 집합에 있는 모든 선분이 어떤 볼록 다각형의 변 위에 포함되는 다각형이 존재하는지 판별합니다.
문제
Prof. Chen은 자료구조와 계산 기하학의 대가이다. 최근 그는 Putata와 Budada에게 볼록 다각형의 정의를 가르쳤다. 볼록 다각형은 단순 다각형(즉, 두 꼭짓점이 겹치지 않고, 연속된 두 변이 꼭짓점에서 만나는 경우를 제외하면 두 변이 교차하지 않는 다각형)이며, 모든 내각이 보다 엄격히 작다.
Putata와 Budada는 볼록성 검사 문제를 풀었다. 이후 Prof. Chen은 그들에게 한 단계 더 나아가, 두 종류의 질의를 지원하는 선분 다중집합 를 관리하라고 요청했다.
- : 끝점이 , 인 선분을 다중집합 에 넣는다.
- : 번째 질의에서 삽입한 선분을 에서 뺀다. 보장: 번째 질의는 삽입 질의이고, 그 선분은 현재 다중집합에 들어 있다.
각 질의 후에, 꼭짓점이 반시계 방향 순서로 인 볼록 다각형 가 존재하는지 답한다. 존재 조건은 의 모든 선분 에 대해, 을 만족하는 가 있는 것이다. 두 선분 에 대해 는 의 모든 점 가 에도 속한다는 뜻이다.
입력
첫 줄에 테스트 케이스의 수 ()가 주어진다.
각 테스트 케이스의 첫 줄에는 질의의 수 ()이 주어진다. 이어서 개의 줄에 질의가 하나씩 주어진다. 질의는 연산 문자 ()로 시작한다.
이면 정수 () 네 개가 주어진다. 또는 가 보장된다.
그렇지 않으면 정수 ()가 주어진다. 번째 질의는 삽입 질의이며, 그 선분은 현재 다중집합에 들어 있음이 보장된다.
모든 테스트 케이스의 의 합은 을 넘지 않는다.
출력
각 테스트 케이스마다 '0'과 '1'로 이루어진 문자열을 한 줄에 출력한다. 번째 문자는 번째 질의 후 답이 참이면 '1', 아니면 '0'이다.