레이저 쏘기
시간 제한1.5초메모리 제한1024 MB
양쪽 벽이 거울인 평면에서 벽에 K번 미만 반사해 도달하는 센서를 가장 많이 비추는 발사 각도를 구합니다.
문제
폭이 이고 가장 아래쪽이 고정되어 있으며 위쪽으로는 높이가 무한한 평면이 있다. 이 공간을 좌표평면에 대응시키면 가장 왼쪽 아래 지점이 점 이다. 점 에서 오른쪽으로 , 위쪽으로 만큼 떨어진 위치를 점 라고 한다. 공간의 폭이 이므로 과 이 공간의 양쪽 벽에 해당한다.
점 에 레이저 발사기가 하나 있다. 공간의 양쪽 벽은 모두 거울이어서, 레이저가 벽에 닿으면 입사각과 반사각이 같게 반사되어 진행한다. 레이저 발사기는 기술적인 문제로 벽과 평행하거나 수직인 방향으로는 돌릴 수 없다.
평면 위에는 , 가 모두 정수인 서로 다른 개의 점이 있고, 각 점에 센서가 놓여 있다. 레이저가 센서의 좌표를 정확히 지나가면 그 센서에 연결된 전구에 불이 들어온다. 다만 거울에 반사될 때마다 레이저의 세기가 약해져서, 거울에 번 이상 반사된 레이저는 센서가 인식하지 못한다.
센서의 수 과 각 센서의 좌표가 주어졌을 때, 발사기의 발사 각도를 적절히 조절해서 동시에 최대 몇 개의 전구를 켤 수 있는지 구하라.
입력
첫째 줄에 센서의 수 (), 벽의 폭 (), 레이저의 세기가 부족해지는 반사 횟수 ()가 주어진다.
둘째 줄부터 째 줄까지 각 센서가 위치한 점의 좌표 (, )가 개 차례대로 주어진다. 모든 센서는 정수 점 위에 있으며, 중복된 점은 주어지지 않는다.
출력
첫째 줄에 레이저 발사기로 동시에 켤 수 있는 전구의 최대 개수를 출력한다.