최대 50개의 초와 최대 15개의 절단선이 주어질 때, 절단선이 케이크를 잘라 각 조각에 초가 정확히 하나씩 들어가는지 판정한다.
보통5기하비트 연산조합론완전 탐색면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB존의 생일에 부모님이 커다란 생일 케이크를 만들어 주셨다. 저녁 식사가 끝났으니 이제 케이크를 먹을 차례다. 케이크에는 초가 n개 꽂혀 있다. 존은 케이크를 n조각으로 잘라서 각 조각에 초가 정확히 하나씩 올라가고 남는 조각은 하나도 없게 하려고 한다. 그래서 케이크를 가로지르는 직선으로 m번 잘랐다. 존이 낸 칼자국이 초를 원하는 대로 나누었는지 확인해 보자.
케이크는 원점 (0,0)을 중심으로 하고 반지름이 r인 원이다. 초는 원 내부에 있는 서로 다른 n개의 점이다. 칼자국 하나는 세 계수 a, b, c로 주어지는 직선 ax+by+c=0이다.
첫 줄에 세 정수 n (1≤n≤50), m (1≤m≤15), r (1≤r≤100)이 주어진다.
다음 n개의 줄에는 초의 위치가 주어진다. 각 줄에는 초 하나의 좌표를 나타내는 두 정수 x와 y가 주어진다 (0≤x2+y2<r).
다음 m개의 줄에는 칼자국 직선의 계수가 주어진다. 각 줄에는 직선 ax+by+c=0을 나타내는 세 정수 a, b, c가 주어진다 (0≤∣a∣,∣b∣≤100, 0≤∣c∣≤20000). a와 b가 동시에 0인 경우는 없다.
초는 모두 서로 다르고 직선도 모두 서로 다르다. 칼자국 위에 놓인 초는 없다. 케이크를 완전히 벗어나거나 케이크에 접하기만 하는 직선도 없다. 칼자국 직선 하나를 어느 방향으로든 10−4 이하만큼 움직여도 케이크 조각의 개수는 그대로다. 또한 초 하나를 어느 방향으로든 10−4 이하만큼 움직여도 그 초는 같은 조각의 내부에 남는다.
칼자국이 케이크를 잘라 모든 조각에 초가 정확히 하나씩 올라가면 yes를, 그렇지 않으면 no를 출력한다.