농부 존의 소들은 헛간에서 레이저 조명 쇼가 곁들여진 댄스 파티를 열고 싶어 한다. 소들은 여러 개의 거울을 이용해 레이저 빛의 방향을 바꿔 헛간으로 보내려고 한다.
농장의 배치를 보면 레이저는 위치 (0,0)에서 북쪽(양의 y 방향)을 향하고 있고, 헛간은 (Bx, By)에 있다. 농장 곳곳에는 이미 N마리의 소(1 <= N <= 100,000)가 축에 대해 45도 각도로 정렬된 거울을 들고 흩어져 있다. 예를 들어 '\'처럼 정렬된 거울은 아래에서 들어오는 빛을 왼쪽으로 반사한다.
현재 거울 배치로는 레이저가 헛간에 닿을 수 없다. 베시는 거울 하나(45도 각도로 배치)를 더 들고 서서 레이저를 헛간으로 보내려고 한다. 베시가 이 목표를 이루기 위해 설 수 있는 들판 위 위치의 개수를 세어라.
모든 좌표는 -1,000,000,000 이상 1,000,000,000 이하의 정수이다. 빔은 (0,0)을 떠난 뒤 다시 (0,0)으로 돌아오지 않아야 한다. 같은 점에 두 마리의 소가 있는 경우는 없으며, 베시는 기존 소와 같은 위치에 설 수 없다.
첫째 줄: 정수 N, Bx, By가 주어진다.
둘째 줄부터 N+1째 줄까지: i+1째 줄에는 i번째 거울을 나타내는 세 요소, 즉 (x,y) 위치와 방향('\' 또는 '/')이 주어진다.
베시가 레이저를 헛간으로 보내기 위해 설 수 있는 위치의 개수를 정수 하나로 출력한다.
optics.in · 출력을 쓸 파일 optics.out4 1 2
-2 1 \
2 1 /
2 2 \
-2 2 /2Output details: A mirror at (0,1) or (0,2) placed in either direction would do the trick.