Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt | |||
Максимальный балл: | 100 |
В одной исследовательской лаборатории собираются провести очередной эксперимент с подвижными частицами,
в рамках которого им придется взаимодействовать с некоторым объектом, имеющим форму тора.
Известно, что каждая такая частица в течение всей своей жизни совершает непрерывное
прямолинейное движение с некоторой постоянной скоростью.
При столкновении с каким-либо препятствием, она отклоняется от исходной траектории,
а затем продолжает свое движение, как ни в чем не бывало.
В очень редких случаях также могут встречаться абсолютно неподвижные частицы, скорости которых равны нулю.
Будем полагать, что тор задается радиусами направляющей R1 и образующей R2 окружностей.
Его ось вращения совпадает с осью Oz, а центр лежит в начале координат.
Первоначально все исходные частицы можно условно разбить на две группы: лежащие внутри и снаружи тора.
Важным условием здесь является то, что в процессе движения ни одна из частиц не должна покидать область,
которой она принадлежала в начальный момент времени.
Рассмотрим поведение указанных частиц на временном интервале от 0 до T.
В процессе своего движения каждая отдельно взятая частица может то и дело сталкиваться с границей тора.
При столкновении с тором частица отражается от вектора нормали в соответствующей точке (см. рисунок).
Модуль ее скорости при этом сохраняется.
Требуется написать программу, которая по известному начальному положению частиц,
исходным компонентам скорости и параметрам тора производит расчет их траекторий
в течение заданного промежутка времени.
В качестве ответа выведите координаты положения частиц
в равноотстоящие моменты времени:
tk = k ⋅ Tm, где k = 1, 2, …, m.
В первой строке входного файла содержатся радиусы направляющей R1 и образующей R2 окружностей тора.
Во второй строке указано значение T, задающее длину временного интервала, и число его подынтервалов m.
Далее следует натуральное число n и последовательность из 6 × n вещественных чисел,
задающих начальные координаты и скорости каждой из частиц:
Xi, Yi, Zi, Ui, Vi, Wi.
Выходной файл должен содержать координаты положения частиц в моменты времени tk,
расположенные в том же порядке, что и во входном файле.
Все значения должны быть указаны с точностью
до 5-го знака после запятой.
Полагается, что начальное расстояние от каждой частицы до поверхности тора ≥ 10 − 2.
Гарантируется, что для каждой отдельной частицы число столкновений с тором
на заданном интервале не превосходит 20.
10 ≥ (R1 − 1) ≥ R2 ≥ 1, 0 < T ≤ 10, 0 < m ≤ 10,
− 10 ≤ (Xi, Yi, Zi, Ui, Vi, Wi) ≤ 10,
0 < n ≤ 4000
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|