Отримати удари в коліно стрілками, здається, наразі вибір травми . Як такий, я пропоную наступне завдання з гольфу.
У вас є авантюрист, який виглядає приблизно так:
O
/|\
/ | \
|
|
/ \
/ \
Давши текстовий файл, що містить один лук (намальований як }
символ), набір стін (намальований як #
символи) та один авантюрист, напишіть найменший код, який обчислює кут та початкову швидкість, з якою ви повинні стріляти, щоб вдарити. його в коліні.
Припустимо наступне:
- Кожен символ у файлі становить 0,5 х 0,5 метра.
- Стрілка прострілюється з центру
}
, тобто зсуву0.25m, 0.25m
- Гравітація є
10ms^-2
- Стрілка важить
0.1kg
- Стрілка - точка, тобто зіткнення виникають лише тоді, коли координата стрілки потрапляє в один з блоків.
- Максимальна початкова швидкість -
50m/s
- Кут може бути від 0 (прямо вгору) до 180 (прямо вниз)
- Удар будь-якою частиною ноги авантюриста вважається ударом по коліну.
- Стіна (
#
персонаж) займає один цілий блок 0,5мм 0,5м. - Стрілка може переміщатися над «верхом» файлу, але немає нічого, що не зупинить вхід із початку стелі
#
символів. - Ви не можете проникнути в стіни стрілами.
- Попадання будь-якої іншої частини авантюриста не дозволяється!
- Вам слід відобразити помилку, якщо вдарити його в коліні неможливо.
Приклад введення:
#
} O
# /|\
/ | \
# |
# |
/ \
/ \
Сміливо задайте питання, якщо вам потрібно :)
#############
...