Вступ
Арена - це рівнина, всіяна хмарочосами, яку ваші вороги використовують для прикриття. Ви та ваші вороги вистрілюєте один одного лазерами. Всі ви носите реактивні пакети, що дозволяють здійснювати політ.
До яких ворогів можна вдарити лазером, а яких ховати?
Проблема
По-перше, розмір арени задається цілим числом 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
- Гравці не розташовуватимуться на куті, на краю або збоку будівлі
- Ваша лінія зору на ворога ніколи не буде дотичною до кута, краю чи сторони будівлі
- Гравець - це не перешкода