Missile Command
В качестве Главного Бюрократа в Командовании Ракетами, вы обнаружили, что текущие руководства по производительности недостаточно строго наказывают за неэффективное использование дорогих боеприпасов. Поэтому вам поручено разработать новый инструмент для анализа итогов боя, который учитывает избыточное потребление боеприпасов.
Бой включает следующие элементы:
Выстрелы. Выстрел — это круговая взрывная контрмера. Он имеет фиксированное положение и длится 2 секунды, в течение которых его радиус изменяется от 0 до 1 км и обратно до 0 по формуле: r = sqrt(1 – (t – 1) ^ 2).
Земля на уровне y = 0.
Ракеты. Ракета — это точечная частица, движущаяся с постоянной скоростью. Если ракета сталкивается с выстрелом, она нейтрализуется. Если ракета достигает земли до нейтрализации, считается, что она попала в цель.
ПРИМЕЧАНИЕ 1: Если ракета попадает в выстрел, выстрел не исчезает и может поразить другие ракеты.
ПРИМЕЧАНИЕ 2: Выстрелы с радиусом 0 не могут поражать ракеты (например, ракета пройдет через уже истекший выстрел).
Производительность оценивается по следующей шкале баллов:
Каждая нейтрализованная ракета добавляет 1 балл.
Каждая ракета, достигшая цели, вычитает 5 баллов.
Каждый ненужный выстрел вычитает 20 баллов. Ненужные выстрелы — это разница между фактическим количеством произведенных выстрелов и минимальным подмножеством, которое нейтрализовало бы то же количество ракет.
Входные данные
Входные данные представлены в следующем формате (легенда ниже):
nb
nm
mx my mdx mdy mt
...
ns
sx sy st
...
...
В легенде отступ обозначает повторение отступленного блока столько раз, сколько указано в предыдущем элементе ввода:
nb (0 < nb) – количество боев
nm (0 ≤ nm ≤ 20) – количество ракет
mx/my (0.0 < my) – начальная позиция ракеты (в км)
mdx/mdy – скорость ракеты (в км/с)
mt (0.0 ≤ mt) – время появления ракеты с начала боя (в секундах)
ns (0 ≤ ns ≤ 20) – количество выстрелов
sx/sy (1.0 ≤ sy) – позиция выстрела в момент детонации (в км)
st (0.0 ≤ st) – время детонации выстрела с начала боя (в секундах)
Выходные данные
Для каждого боя выведите строку, содержащую счет за этот бой.