Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt |
Пусть имеется набор из m точек n-мерного евклидова пространства, заданных своими декартовыми координатами: (x1i, x2i, …, xni), где нижний индекс обозначает номер точки, а верхний — номер координаты.
Требуется определить, существует ли n-мерный параллелепипед (со сторонами, параллельными осям координат), на границе которого лежат указанные точки.
В начале входного файла "input.txt" хранятся два натуральных числа: m и n.
Далее следует m строк, содержащих координаты точек исходного множества: (x1i, x2i, …, xni).
Выходной файл "output.txt" должен содержать одно из следующих значений:
1 — если такой параллелепипед существует;
0 — в противном случае.
Все входные значения являются целыми десятичными числами.
− 104 < xki < 104, 0 < n ≤ 10, 0 < m ≤ 5 ⋅ 104
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt |
Кольцо представляет собой область плоскости, ограниченную двумя окружностями.
Пусть имеются два кольца, каждое из которых задается координатами своего центра (xi, yi), а также внутренним qi и внешним ri радиусами.
Требуется определить площадь их пересечения.
Во входном файле "input.txt" содержится набор вещественных значений, определяющих положение исходных колец: x1, y1, q1, r1, x2, y2, q2, r2.
Выходной файл "output.txt" должен содержать площадь их пересечения, указанную с точностью до 5-го знака после запятой.
0 ≤ q1 ≤ r1, 0 ≤ q2 ≤ r2
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt |
Пусть имеется параллелепипед со сторонами, параллельными осям координат: D = { (x, y, z): xmin ≤ x ≤ xmax, ymin ≤ y ≤ ymax, zmin ≤ z ≤ zmax} и некоторый треугольник T, заданный координатами своих вершин: (x1, y1, z1), (x2, y2, z2), (x3, y3, z3).
Требуется определить площадь той части треугольника T, которая имеет общие точки с параллелепипедом D.
В начале входного файла "input.txt" записаны координаты двух наиболее удаленных вершин параллелепипеда: (xmin, ymin, zmin), (xmax, ymax, zmax).
Далее следуют координаты вершин треугольника: (x1, y1, z1), (x2, y2, z2), (x3, y3, z3).
Выходной файл "output.txt" должен содержать площадь, указанную с точностью до 5-го знака после запятой.
Полагается, что вершины треугольника не лежат на одной прямой.
xmin ≤ xmax, ymin ≤ ymax, zmin ≤ zmax.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt |
Пусть имеются две круглые плоские пластины, произвольным образом расположенные в трехмерном пространстве. Каждая такая пластина однозначно задается ортогональным к ней вектором (Nxi, Nyi, Nzi), своим центром (Cxi, Cyi, Czi) и радиусом Ri.
Требуется определить наличие пересечения между указанными пластинами. Будем считать, что пластины пересекаются, если у них имеется как минимум одна общая точка.
В начале входного файла "input.txt" хранится набор вещественных значений, задающих первую пластину:
Nx1, Ny1, Nz1, Cx1, Cy1, Cz1, R1.
Далее следует такой же набор, задающий вторую пластину:
Nx2, Ny2, Nz2, Cx2, Cy2, Cz2, R2.
Выходной файл "output.txt" должен содержать:
1 — если заданные пластины пересекаются;
0 — в противном случае.
Гарантируется, что в пределах заданной
точности ответ может быть
получен однозначно.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt |
Пусть имеются три частицы, положение которых в момент времени t = 0 задается двумерными координатами: (x1, y1), (x2, y2) и (x3, y3).
Полагается, что в течение всего последующего времени каждая i-я частица, независимо от остальных,
совершает прямолинейное движение с некоторой постоянной скоростью (ui, vi).
Требуется определить наиболее ранний момент времени T ≥ 0, когда они окажутся на одной прямой.
Входной файл "input.txt" содержит последовательность целых чисел:
x1, y1, u1, v1, x2, y2, u2, v2, x3, y3, u3, v3.
Выходной файл "output.txt" должен содержать значение T, указанное с точностью до 5-го знака после запятой.
В случае если подходящее решение не может быть найдено, в выходной файл необходимо вывести − 1.
Все входные значения являются целыми десятичными числами.
− 104 ≤ (xi, yi, ui, vi) ≤ 104.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt |
В рамках одного научного исследования по изучению псевдо-броуновского движения на плоскости возникла необходимость в моделировании поведения двумерных псевдо-частиц при их попадании в замкнутую ловушку, имеющую форму кольца.
Дело в том, что такого рода частицы в течение всей своей жизни совершают непрерывное прямолинейное движение с некоторой постоянной скоростью. Когда частица сталкивается с каким-либо препятствием, она отклоняется от исходной траектории и продолжает свое движение, как ни в чем не бывало. В очень редких случаях также могут встречаться абсолютно неподвижные частицы, скорости которых равны нулю.
Чтобы изучить подвижную псевдо-частицу, ее необходимо длительное время удерживать в некоторой ограниченной области. Для этого в экспериментальной лаборатории воссоздаются условия при которых достаточно большой набор частиц окажется в пределах замкнутого кольца, граница которого образует силовой барьер, через который частицы не могут пройти.
Определим кольцо, как область, заключенную между двумя окружностями с общим центром (x0, y0) и разными радиусами: r2 > r1 > 0. В этом случае исходное множество частиц можно условно разбить на три группы:
Рассмотрим поведение указанных частиц на временном интервале от 0 до T.
В процессе своего движения каждая отдельно взятая частица может то и дело сталкиваться с границей содержащей ее области. Будем полагать, что при столкновении частицы с границей она отражается относительно касательной прямой (как показано на рисунке). Модуль ее скорости при этом сохраняется. В свою очередь, взаимные столкновения двух и более частиц не влияют на их траектории и могут быть проигнорированы.
Требуется написать программу, которая по известному начальному положению частиц, исходным компонентам скорости и параметрам кольцевой области, производит расчет их траекторий в течение заданного промежутка времени. В качестве ответа вывести координаты положения частиц в равноотстоящие моменты времени tk = k ⋅ (T / m), где k = 1, 2, …, m.
Важным условием здесь является то, что в процессе движения ни одна из частиц не должна покидать область, которой она принадлежала в начальный момент времени. Данный факт следует также учесть при составлении проверочных тестов.
В первой строке входного файла "input.txt" содержатся параметры расчетной области: x0, y0, r1, r2. Во второй строке указано значение T, задающее длину временного интервала, и число его подынтервалов m. Далее следует натуральное число n и последовательность из 4 × n вещественных чисел, задающих начальные координаты и скорости каждой из частиц: xi, yi, ui, vi, где i = 1, 2, …, n.
Выходной файл "output.txt" должен содержать координаты положения частиц в моменты времени tk (k = 1, 2, …, m), расположенные в том же порядке, что и во входном файле. Все значения должны быть указаны с точностью до 5-го знака после запятой.
Полагается, что ни одна из частиц в начальный момент времени не лежит на границе кольца.
2 ≤ r1 ≤ (r2 − 2) ≤ 10, 0 < T ≤ 20, 0 < m ≤ 10,
ui2 + vi2 ≤ 25, 0 < n ≤ 4000
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt |
Рассмотрим множество непрерывно растущих пузырей, расположенных на плоскости. Каждый такой пузырь представляет собой круг, заданный координатами своего центра (xi, yi) и радиальной скоростью vi, указывающей приращение его радиуса за единицу времени.
Известно, что рост отдельно взятого пузыря будет остановлен, как только он достигнет границы любого другого. При этом полагается, что в начальный момент времени (t = 0) радиусы всех пузырей равны нулю.
Требуется определить наиболее ранний момент времени, когда ни один из пузырей больше не сможет продолжать свой рост.
В свою очередь, для каждого такого пузыря следует указать максимально возможный радиус, которого он успеет достичь.
Во входном файле "input.txt" хранится натуральное число n, указывающее количество пузырей.
Далее следует набор из 3 × n вещественных чисел: xi, yi, vi.
Выходной файл "output.txt" должен содержать время окончания роста всех таких пузырей
и значения их радиусов ri в конечный момент времени.
Все значения должны быть записаны с точностью до 5-го знака после запятой.
− 100 ≤ (xi, yi) ≤ 100, 0 ≤ vi ≤ 20,
2 ≤ n ≤ 500
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | А. Баранов, Д. Горячкин | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt |
Начинающий программист Вася увлекается робототехникой. Помимо всего прочего, он также посещает разного рода турниры, посвященные данной тематике. В рамках каждого турнира перед участниками ставится набор задач, для решения которых требуется писать программу для специализированного робота. Одной из таких задач Вася захотел поделиться с Вами.
Пусть имеется манипулятор, состоящий из 2-х звеньев (костей), управляемых моторами. Каждый мотор может поворачивать соответствующую кость на некоторый положительный угол, заданный в радианах. Требуется, получив на вход координаты (x0, y0), определить, на сколько радиан нужно повернуть каждую из костей, чтобы манипулятор занял указанную позицию. Начало отсчета координат — крепление первой кости. Длины и углы поворота каждой из костей ограничены.
Входной файл "input.txt" содержит набор вещественных чисел:
R1, R2 — размеры 1-й и 2-й кости;
F1, F2 — максимальный раствор угла для каждой из костей;
x0, y0 — координаты назначения.
Выходной файл "output.txt" должен содержать значения φ1, φ2 — углы поворота для каждой из костей, указанные с точностью до 5-го знака после запятой.
Если решение не может быть найдено, вывести '-1'.
Все тесты подобраны таким образом, чтобы исключить влияние погрешности машинного округления на результат решения.
10 > R1 ≥ R2 > 0, π > (F1, F2) > 0,
x0 ∈ [ − 10, 10], y0 ∈ [0, 10]
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|