Империя переживает тяжёлый экономический кризис. Огромные средства были потрачены
на постройку "Звёзд Смерти", однако повстанцам удалось с легкостью уничтожить
каждую из них. В сложившейся ситуации есть два возможных варианта действий: либо
начать мирные переговоры с повстанцами и попытаться найти политическое решение
конфликта (против чего решительно протестует Дарт Вейдер), либо радикально
удешевить стоимость "Звёзд Смерти". Был выбран второй вариант. Производство
решено было перенести в Соседнюю Галактику, где гораздо дешевле рабочая сила.
Промышленность Соседней Галактики уже давно успешно освоила выпуск гигантских
стальных балок длиной в 1 стандартную звёздную единицу. Решено было массово собирать "Звёзды Смерти" из этих балок в виде правильных многогранников (платоновых тел). В каждой вершине такого многогранника устанавливается мегапушка, которая стреляет вдоль луча, исходящего из центра многогранника и проходящего через эту вершину (местная вертикаль). Когда станция дальнего обнаружения засекает приближающийся корабль повстанцев, вся "Звезда Смерти" поворачивается так, чтобы ближайшая мегапушка была нацелена прямо на корабль. При этом расход топлива пропорционален углу поворота. После залпа и неизбежного уничтожения повстанцев "Звезда Смерти" не меняет своей ориентации
до следующей атаки.
Несмотря на подавляющее технологическое преимущество Империи, повстанцы продолжают атаковать "Звёзды Смерти". А Империя продолжает тратить огромные суммы на топливо и амуницию. Министр финансов Империи от отчаяния собрался вновь поднять вопрос о мирных переговорах на аудиенции у Императора. Но чтобы защитить себя от гнева Дарта Вейдера, он решил представить чёткое экономическое обоснование и попросил вас посчитать, сколько именно топлива тратится на отражение атак повстанцев.
Исходные данные
В первой строке указано, в виде какого именно платонова тела была построена конкретная "Звезда Смерти". Ниже, в таблице, указаны названия и основные
характеристики этих тел.
Многогранник |
Вершин |
Рёбер |
Граней |
tetrahedron |
4 |
6 |
4 |
hexahedron |
8 |
12 |
6 |
octahedron |
6 |
12 |
8 |
dodecahedron |
20 |
30 |
12 |
icosahedron |
12 |
30 |
20 |
В следующей строке указано число n — количество атак повстанцев,
отражённых этой "Звездой Смерти" (1 ≤ n ≤ 100). Каждая из следующих n строк содержит вектор атаки, заданный с точностью до 5 знаков после запятой. Векторы даны в системе координат, неподвижной относительно окружающего пространства. Геометрический центр "Звезды Смерти" покоится в центре этой системы координат. Вы можете считать, что в начальном положении одна из мегапушек целится точно по направлению оси Oz, а одно из смежных с ней рёбер лежит в плоскости Oxz (в полуплоскости x ≥ 0). Станция дальнего обнаружения засекает только корабли, движущиеся из глубин Вселенной точно в центр "Звезды Смерти". Атаки следуют одна за другой в указанном порядке с существенным временным промежутком между ними. В истории Имперского Флота
не было случаев, когда не могли решить, какой именно мегапушкой развернуться в сторону атакующего корабля.
Результат
Выведите суммарный угол поворота в радианах с точностью до 5 знаков после десятичной точки.
Пример
исходные данные | результат |
---|
tetrahedron
5
0.00000 0.00000 -1.00000
-1.00000 0.00000 1.00000
0.00000 0.00000 -1.00000
-1.00000 0.00000 1.00000
0.00000 0.00000 -1.00000
| 1.78225
|
Автор задачи: Павел Атнашев
Источник задачи: NEERC 2008, Четвертьфинал Восточного подрегиона