Вступление
Арена представляет собой равнину, усеянную небоскребами, которую враги используют для укрытия. Вы и ваши враги стреляете друг в друга лазерами. Все вы несете реактивные ранцы, позволяющие полет.
Какие враги вы можете ударить с помощью лазера, а какие скрываются?
проблема
Во-первых, размер арены задается целым числом nв одной строке. Следующие nстроки содержат nцелые числа в строке, разделенные пробелом. Каждое целое число представляет высоту здания в этом месте. Каждое здание представляет собой прямоугольное тело, 1 единица на 1 единицу по высоте.
Далее, ваше местоположение дается на одной линии , как три числа с плавающей точкой x, y, z.
Наконец, количество врагов задается целым числом mв одной строке. Следующие mстроки содержат три числа с плавающей точкой на строку, разделенные пробелом. Они представляют x, yи zкоординаты противника. Система координат определяется следующим образом:
xизмеряется слева направо в вводе городаyизмеряется сверху внизzизмеряется с нуля
Для каждого врага, если от вас до этого противника можно провести беспрепятственную линию, выведите положительное целое число. В противном случае выведите отрицательное целое число. Отдельные выходы новой строкой.
Пример ввода
Комментарии, обозначенные знаком «#», помогут вам быстро увидеть, что делает каждая строка. Они не будут присутствовать в фактическом вводе.
5 # Size of the map
0 0 0 0 0 # Buildings
0 0 0 0 0 # Buildings
4 4 4 4 4 # Buildings
0 0 0 0 0 # Buildings
0 0 0 0 0 # Buildings
2.5 0.0 4.0 # Your location
3 # Number of enemies
2.5 5.0 0.1 # Enemy location
2.5 5.0 5.0 # Enemy location
0.0 2.7 4.5 # Enemy location
Образец вывода
Для приведенного выше примера ввода мы выводим следующее:
-1
1
1
Предположения
- 0
n<<100 - 0
m<<100 - 0 <=
x<=n - 0 <=
y<=n - 0 <=
z<n - Игроки не будут находиться внутри или внутри угла, края или стороны здания
- Ваша линия обзора противника никогда не будет касаться угла, края или стороны здания
- Игрок не является препятствием