camera = [cx, cy] на плоскости: сдвинуть её нельзя, но можно повернуть в любую сторону. Её поле зрения — сектор шириной view_angle градусов, **границы сектора входят** в обзор.
На плоскости отмечены цели targets[i] = [xi, yi]. Цель видна, если направление от камеры на неё попадает в сектор. Цели не загораживают друг друга, несколько целей могут стоять в одной точке. Цель, стоящая ровно в точке камеры, видна при любом повороте.
Верните наибольшее число целей, которые можно увидеть одновременно, выбрав направление камеры.targets=[[5, 2], [2, 5], [0, 2], [2, 0]], view_angle=90, camera=[2, 2] → 2
Цели лежат от камеры строго на восток, север, запад и юг. Угол обзора 90° вмещает две соседние, например восток и север (границы входят).
targets=[[3, 3], [6, 6], [3, 3], [4, 7]], view_angle=10, camera=[3, 3] → 3
Две цели стоят прямо на месте камеры и видны всегда. Из двух остальных в кадр 10° помещается только одна: направления на них отличаются примерно на 31°.
targets=[[9, 1], [9, 9], [1, 9]], view_angle=0, camera=[1, 1] → 1
При нулевом угле видно только то, что лежит точно на одной линии взгляда, — здесь каждая цель на своём направлении.
targets=[[5, 2], [2, 5], [0, 2], [2, 0]], view_angle=90, camera=[2, 2]
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 133 теста на сервере, включая скрытые.