연결
시간 제한1초메모리 제한128 MB
제한된 보드에 번갈아 놓은 트윅스트 말 중 마지막 수가 놓은 쪽의 양쪽 끝 구역을 잇는 연결 경로를 완성하는지 판정한다.
문제
보드 게임 트위스트(Twixt)에서 주어진 수순의 마지막 수가 승리하는 수인지 판정하세요.
이 버전에서는 보드 크기가 달라질 수 있습니다. 말(peg)은 범위의 정수 좌표에 놓입니다. 두 플레이어 흑(Black)과 백(White)은 각자 자기 색의 말을 사용합니다. 항상 흑이 먼저 두고, 이후 두 플레이어가 번갈아 가며 비어 있는 위치 하나에 말을 하나씩 놓습니다.
흑의 목표선(endzone)은 또는 인 직선이고, 백의 목표선은 또는 인 직선입니다. 어느 플레이어도 상대의 목표선 위에는 말을 놓을 수 없습니다.
매 수마다, 방금 놓은 말은 체스 나이트의 이동(한 좌표로 칸, 다른 좌표로 칸 떨어진 위치)만큼 떨어진 같은 색 말 각각과 선분으로 연결됩니다. 단, 새 선분이 이미 그어진 어떤 선분과도 공유하는 끝점을 제외하고는 닿지 않아야 합니다. 새 선분이 (색과 무관하게) 기존 선분과 교차하거나 겹친다면 그 선분은 긋지 않습니다.
승리하는 수가 나오면 대국이 끝납니다. 승리하는 수란, 그 수로 인해 어떤 플레이어의 선분들이 그 플레이어의 두 목표선을 잇는 연결된 경로를 처음으로 완성하는 수입니다.
예를 들어 인 보드에서 , , , 를 둔 뒤, 흑이 을 두는 것은 나쁜 수이지만 대신 을 두면 승리합니다. 또 다른 예로 인 보드에서 흑은 11수 만에 승리합니다: , , , , , , , , , , .
입력
입력은 1개 이상 20개 이하의 데이터셋으로 이루어지며, 마지막에는 두 개의 0만 있는 줄 0 0이 옵니다.
각 데이터셋의 첫 줄에는 최대 좌표 과 전체 수의 개수 이 주어집니다. 이때 , 이며 은 홀수입니다. 데이터셋의 나머지 부분에는 개의 좌표 쌍이 한 줄에 한 쌍 이상씩 주어지고, 모든 수는 공백으로 구분됩니다.
이 홀수이므로 항상 흑이 마지막 수를 둡니다. 모든 입력은 규칙에 맞으며, 마지막 수 이전에 승리하는 수가 나오는 경우는 없습니다.
출력
각 데이터셋마다, 마지막 수가 승리하는 수이면 yes를, 그렇지 않으면 no를 한 줄에 출력하세요.