Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 4 Мб | |
Выходной файл: | 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 | Ограничение памяти: | 2 Мб | |
Выходной файл: | 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 | Ограничение памяти: | 2 Мб | |
Выходной файл: | 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 | Ограничение памяти: | 2 Мб | |
Выходной файл: | 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 | Ограничение памяти: | 8 Мб | |
Выходной файл: | output.txt |
Жители одного крупного города озаботились сложившейся в его окрестностях экологической обстановкой. Дело в том, что в прилегающих к нему районах имеется достаточно большое число промышленных предприятий, вредные выбросы которых неблагоприятным образом влияют на окружающую среду. Ситуация усугубляется еще и тем, что расположены они в основном по берегам рек, воды которых также идут на хозяйственные нужды горожан.
Для того, чтобы оценить величину наносимого ущерба, понадобилось провести ряд исследований, направленных на выявление наиболее вредных объектов промышленности. Однако представители крупных коммерческих предприятий отказались предоставлять точную информацию об объемах сбрасываемых в реку загрязнений. В связи с этим, члены экологического общества поставили перед собой задачу — попытаться восстановить их значения, руководствуясь только лишь данными, полученными из открытых источников.
Карта речной системы представляет собой ориентированный бесконтурный граф (сеть), в узлах которого располагаются очистные сооружения и разнообразные источники загрязнений. На входе указанной сети располагаются узлы, связанные с крупнейшими заводами. Каждый i-й завод непрерывно за одну единицу времени сбрасывает в реку ровно Xi тонн химических отходов.
Известно, что при прохождении через k-й промежуточный узел концентрация примеси изменяется на аддитивную константу Fk. Процент примеси, пропускаемый через ребро, направленное из узла с номером k в узел с номером l, определяется коэффициентом Wk l.
На выходе располагаются системы сбора воды с установленными на них датчиками, которые регистрируют количество примеси Yj, проходящее через них за одну единицу времени.
По имеющимся данным требуется определить концентрацию примеси, выбрасываемую каждым отдельным заводом.
Во входном файле "input.txt" хранится карта речной сети, записанная в следующем виде.
Вначале идет пара натуральных значений n и m — число вершин и ребер в таком графе.
За ними следует набор из m ребер, каждое из которых задается тремя значениями:
k и l — номера вершин, которые оно соединяет;
Wk l — весовой коэффициент.
При этом полагается, что нумерация вершин начинается с нуля.
На входе такой сети располагаются вершины, связанные с основными заводами. В отличие от остальных вершин, они не имеют входящих ребер. Вершины, имеющие как входные так и выходные ребра, связаны с промежуточными узлами, а вершины, не имеющие выходных ребер — с конечными.
Далее следует список, в котором каждому промежуточному узлу с номером k ставится в соответствие вещественная константа Fk, а каждому конечному узлу с номером j — значение Yj.
Порядок следования узлов в таком списке не гарантирован!
Если задача имеет единственное решение, в выходной файл "output.txt" выводится строка 'SOLUTION:',
за которой следует список из номеров входных узлов i и соответствующих им значений Xi,
указанных с точностью до 5-го знака после запятой.
В противном случае, выходной файл должен содержать строку 'INFINITY!'.
Гарантируется, что точное решение всегда существует
и удовлетворяет следующим соотношениям: 0 ≤ Xi ≤ 10.
Все тесты подобраны таким образом, чтобы снизить влияние погрешности
машинного округления на результат решения.
Гарантируется отсутствие висячих вершин
(не связанных ни с одним из ребер).
Число ребер, исходящих из одной вершины, не превосходит 10,
а их суммарный вес равен 1.
0 ≤ Fk ≤ 10, 2 ≤ n ≤ 1000, 0 < m.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 2 Мб | |
Выходной файл: | output.txt |
Матрица фотоаппарата представляет собой прямоугольную таблицу размерности [n × m], состоящую из светочувствительных элементов (ячеек). В момент съемки каждой ячейке такой таблицы ставится в соответствие вещественное значение Xi j, указывающее ее состояние (интенсивность).
Известно, что при считывании состояния отдельно взятой ячейки к нему добавляется взвешенная сумма состояний окружающих ее ячеек, которые формируют упорядоченный набор слоев (см. рисунок). При этом каждый последующий слой имеет в два раза меньшее влияние, чем предыдущий.
Коэффициент влияния каждой такой ячейки на полученное значение равен 1 / (2l ⋅ Nl), где l — номер содержащего ее слоя, Nl — число ячеек в l-м слое.
Также для отдельно взятой модели фотоаппарата известно максимальное число слоев k, оказывающих влияние на результат измерения.
Для заданной матрицы Y, полученной в результате измерений, и радиуса воздействия k требуется восстановить исходные значения Xi j.
Значения фиктивных ячеек (лежащих за пределами матрицы) полагаются равными нулю.
В начале входного файла хранятся три натуральных числа: n, m и k.
Далее следует матрица результатов измерений Y, записанная в строчном формате.
Выходной файл должен содержать восстановленную матрицу X.
Все значения должны быть указаны с точностью до 5-го знака после запятой.
0 ≤ Yi j ≤ 10, 0 < n ⋅ m ≤ 40 000, 0 < k ≤ 6
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 4 Мб | |
Выходной файл: | output.txt |
Владелец одного особняка, на территории которого произрастает большое число редких видов деревьев, захотел отгородить свой сад от вандалов, затратив на это как можно меньшее количество ресурсов. Для этих целей он составил карту земельного участка, отметив на ней точки расположения каждого отдельного дерева.
От Вас требуется определить минимально возможную длину забора, которым можно ограничить заданное множество точек.
Во входном файле "input.txt" записано натуральное число n, за которым следует ровно n пар вещественных чисел (xi, yi), отвечающих за координаты исходных точек.
Выходной файл "output.txt" должен содержать ответ, записанный с точностью до 5-го знака после запятой.
Гарантируется, что в исходном множестве присутствует набор точек, не лежащих на одной прямой.
− 10 ≤ (xi, yi) ≤ 10, 3 ≤ n ≤ 105
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 16 Мб | |
Выходной файл: | output.txt |
Начинающий программист Вася занимается анализом разного рода многоугольников.
Однажды в процессе исследования перед ним возникла следующая задача.
Пусть имеются два простых многоугольника (не имеющие самопересечений), каждый из которых задан упорядоченным набором своих вершин.
Требуется определить, можно ли один такой многоугольник получить из другого путем применения к нему следующих операций:
Во входном файле "input.txt" указано натуральное n, за которым следует набор из 2 ⋅ n вершин
(сначала для первого, а затем — для второго многоугольника),
записанных в виде пар целых десятичных чисел: (xi, yi).
Выходной файл "output.txt" должен содержать одно из следующих значений:
1 — если оба многоугольника подобны между собой;
0 — в противном случае.
Гарантируется, что оба многоугольника являются невырожденными.
Все входные значения являются целыми десятичными числами.
− 104 ≤ (xi, yi) ≤ 104, 3 ≤ n ≤ 105
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 16 Мб | |
Выходной файл: | output.txt |
Рассмотрим конфигурацию из n прямых на плоскости. Требуется определить число всех треугольных ячеек, образованных в результате разбиения плоскости указанным набором прямых.
Во входном файле "input.txt" записано натуральное число n, за которым следует ровно n прямых. Каждая прямая задается парой несовпадающих точек: (Axi, Ayi), (Bxi, Byi).
Выходной файл "output.txt" должен содержать число полученных треугольников.
Гарантируется, что никакие две прямые не совпадают между собой.
Все входные значения являются целыми десятичными числами.
− 104 ≤ (Axi, Ayi, Bxi, Byi) ≤ 104, 3 ≤ n ≤ 300
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 16 Мб | |
Выходной файл: | output.txt |
Карта мира в одной многопользовательской игре поделена на неперекрывающиеся между собой регионы, имеющие форму простых многоугольников. Между регионами перемещаются игроки, оснащенные датчиками слежения. Для каждого игрока определен некоторый ограниченный набор областей, которые ему разрешается посещать.
Модератор игры со своего пульта должен наблюдать за перемещениями игроков и своевременно реагировать в случае нарушения ими границ допустимых регионов. С этой целью перед программистами поставили задачу разработать систему, которая бы позволяла в режиме реального времени определять местоположение игроков на карте.
Пусть имеется планарное подразбиение, состоящее из набора неперекрывающихся между собой многоугольных ячеек, образованных вершинами и соединяющими их прямыми ребрами. Для заданного набора контрольных точек требуется определить номера ячеек, в которые они попадают.
Во входном файле "input.txt" записано натуральное число n, за которым следует ровно n пар целых десятичных чисел (xi, yi), задающих координаты вершин планарного подразбиения.
Далее указано число m, за которым следует ровно m ячеек, каждая из которых задается в виде последовательности составляющих ее вершин.
Так, вначале указывается число таких вершин, после чего перечисляются их номера в исходном массиве (расположенные в порядке обхода по часовой стрелке).
При этом полагается, что нумерация вершин начинается с нуля.
В окончании входного файла указано натуральное k, за которым следует ровно k точек, для которых необходимо выполнить поисковый запрос.
Выходной файл "output.txt" должен содержать последовательность из номеров ячеек, в которые попадают указанные точки.
При этом полагается, что нумерация ячеек начинается с нуля.
Для точек, лежащих за пределами каких либо ячеек, в качестве ответа необходимо вывести − 1.
Гарантируется, что ни одна из искомых точек не попадает на границу ячейки.
Все входные значения являются целыми десятичными числами.
− 104 ≤ (xi, yi) ≤ 104, 3 ≤ n ≤ 103, 0 < k ≤ 3 ⋅ 105
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|