Автор: | Dmitriy Merzlyakov | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 512 Мб | |
Выходной файл: | output.txt | |||
Максимальный балл: | 100 |
Юный программист Вася, вдохновившись принципом работы глобальных навигационных спутниковых систем, решил спроектировать собственную модель движения спутников вокруг Земли, которые в будущем могли бы определять его местоположение.
Для ведения своих расчётов Вася использует сферическую систему координат (r,φ, ψ), где r > = 0 – расстояние от точки до начала координат, φ ∈ [ − 90 ∘ ,90 ∘ ] - зенитный угол, ψ ∈ [0 ∘ ,360 ∘ ] - азимутальный угол. Направления изменения углов показаны на рис. 1 и рис. 2.
В качестве модели Земли Вася взял идеальную сферу с уравнением r = 100 в сферических координатах. Поскольку первая координата зафиксирована, то каждая точка на поверхности будет описываться парой (φ,ψ).
Спутники Васи располагаются на k орбитах. Каждая i − ая орбита представляет из себя пространственную окружность радиуса Ri с центром в начале координат, лежащую в плоскости, заданной нормальным вектором n⃗ = (rn,φn,ψn). На каждой орбите находится mi точечных спутников, равноудалённых друг от друга. В начальный момент времени t0 = 0 первый спутник расположен в координатах (Ri,φi1,ψi1); все спутники вращаются против часовой стрелки, если посмотреть на плоскость орбиты со стороны нормали n⃗, и пронумерованы последовательно от первого спутника, начиная с 1. Каждый спутник на орбите совершает полный оборот за время ti.
Вася хочет написать программу, которая смогла бы оценить удачность выбранной системы спутников и расположения орбит. Для этого он выбирает целевую точку на поверхности сферы с координатами (φp,ψp) на сфере и пытается выяснить, сколько спутников в момент времени t будут находится на связи с целевой точкой. Будем говорить, что некоторый спутник находится на связи с целевой точкой, если отрезок, соединяющий спутник и целевую точку не пересекает сферу.
Помогите Васе написать такую программу.
В первой строке находится 2 числа φp и ψp – координаты целевой точки на поверхности сферы
Во второй строке находится число t – время для изучения положения спутников.
В третьей строке находится число k – количество орбит. Орбиты пронумерованы, начиная с 1, в порядке их появления.
Для каждой i − ой орбиты даны следующие данные:
Выходной файл содержит число kv – число спутников, находящихся на связи с целевой точкой в момент времени t.
Далее следуют kv строк, содержащих 2 числа – номера орбит и порядковых номеров спутников на этих орбитах, находящихся на связи с целевой точкой
в порядке возрастания обоих значений.
Если на связи нет ни одного спутника – выведите 0.
Гарантируется, что координаты первых спутников орбит лежат в их плоскостях вращения.
Гарантируется, что Ri > 100 для любого i ∈ {1,…,k}
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt | |||
Максимальный балл: | 100 |
Из начала координат запускают исследовательский аппарат, который должен достичь небесного тела,
движущегося по циркулярной орбите вокруг некоторого неподвижного центра.
Из-за больших масштабов размеры аппарата и целевого объекта можно считать незначительными.
В этом случае будем рассматривать их как две материальные точки.
Для простоты будем считать, что гравитационными эффектами здесь также следует пренебречь.
Полагается, что аппарат будет запущен по прямой с некоторой постоянной скоростью V.
Траектория небесного тела задается вектором, ортогональным к плоскости вращения N⃗ = (Nx, Ny, Nz),
координатами неподвижного центра (Cx, Cy, Cz), начальной точкой (Px, Py, Pz) и угловой скоростью Ω.
Движение происходит против часовой стрелки в правой системе координат, порожденной вектором N⃗ .
Известно, что до момента посадки аппарат не способен маневрировать, а также менять свою скорость.
Таким образом, чтобы достичь назначенной цели, ему необходимо попасть ровно в ту точку орбиты,
в которой на тот момент будет находиться небесное тело.
Требуется определить направление, в котором должен быть запущен аппарат,
чтобы достичь своей цели за минимальное время.
Задачу следует решить для серии запросов из различных небесных тел.
В начале входного файла хранится целое число n, за которым следует набор из n запросов,
каждый из которых задается набором вещественных чисел:
Nx, Ny, Nz,
Cx, Cy, Cz,
Px, Py, Pz,
Ω,
V.
Выходной файл должен содержать ответы на каждый входной запрос,
которые должны включать в себя координаты точки орбиты
(Dx, Dy, Dz), в направлении которой
должен быть запущен аппарат,
указанные с точностью до 5-го знака после запятой.
− 10 ≤ (Nx, Ny, Nz) ≤ 10,
− 10 ≤ (Cx, Cy, Cz) ≤ 10,
1 ≤ |P − C| ≤ 10,
10 − 1 ≤ (Ω, V) ≤ 10,
1 ≤ n ≤ 104.
Гарантируется, что в пределах заданной
точности ответ может быть
получен однозначно.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
Автор: | Завгороднев А.А. Бадерик П.М. | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
У вас есть друг Вася, которому надо перед большой публикой произнести речь. Но когда Вася волнуется, он начинает заикаться и чихать. Вам необходимо выяснить какую же речь пытается сказать ваш друг.
Когда Вася заикается, он повторяет букву через дефис. А когда он чихает, он издает звук «atishoo», и слово, которое он начал произносить, становится не разобрать, и вы его игнорируете.
На вход программе подаётся одна строка S длины L - речь, которую вы услышали от Васи.
Ваша программа должна выдать одну строку - речь, которую на самом деле хотел произнести Вася.
0 < L ≤ 105
A < S[i] ≤ z + !′,
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
Автор: | Завгороднев А.А. Бадерик П.М. | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
n строителей несут одну балку. И вдруг перед ними оказываются k ям. Строители, не долго думая, двинулись прямиком через эти ямы.
Если вдруг один человек оказался над ямой, то он немедленно вцепляется в балку, а остальные продолжают идти, и таким образом строители пытаются преодолеть ямы (см. картинку).
Но строители не всемогущи, поэтому если в какой-то момент суммарный вес строителей, находящихся над пропастью, превышает суммарный вес строителей, стоящих на земле, то у остальных не хватает сил выдержать висящих на балке, и те падают в яму.
Благо яма не глубокая, поэтому все отделаются легким испугом.
Когда хотя бы один человек падает, все остальные прекращают движение, и ваше наблюдение заканчивается.
Первая строка входного файла содержит два числа: n количество строителей, k количество ям.
Вторая строка список координат относительно начала балки строителей и их веса: p1, w1, ..., pn, wn. Координаты рабочих считаются от левого конца балка
Третья строка координаты краёв ям: l1, r1, ..., lk, rk.
Выходной файл должен содержать одно число - количество упавших строителей.
0 < N * K ≤ 106
0 < li, ri ≤ 109
0 < pi, < pi + 1 ≤ 109
1 < ∑wi ≤ 109
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | Завгороднев А.А. Бадерик П.М. | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
В дорожной службе Берляндии испытываю новую технологию - роботизированных инспекторов. Пока что доступен лишь один пост. Сотрудники этого поста роботы, поэтому они не могут сами принимать решений, они лишь выполняют приказы.
Каждую машину можно отнести к одному из типов нарушений. (Например «машина, превысившая скорость», «машина с выключенными фарами»)
Также всегда существует тип «машина без нарушений», который означает что машину оштрафовать не за что.
Вы можете давать роботам приказы штрафовать определённый тип машин. Так как роботы ещё не очень продвинутые, они не могут в один момент времени штрафовать сразу за несколько типов нарушений.
Также оказалось что роботы долго устанавливают в свою программу приказы, поэтому после получения указания они пропускают K машин без штрафов вовсе.
За километр до поста установлена скрытая камера, поэтому вы заранее знаете в какой последовательности и какого типа машины проедут через ваш пост.
Ваша задача продемонстрировать властям Берляндии ценность новой технологии, поэтому вам надо оштрафовать как можно больше машин.
Список нарушений, которые могут вам встретиться: speed - Превышение скорости. headlights - Езда с выключенным светом. phone - Использование телефона во время управления авто. walker - Не пропустил пешехода. belt - Не пристёгнут ремень безопасности.
Первая строка входного файла содержит два числа: N, K - Количество машин, которые проедут через пост, Количество машин, необходимое для смены режима камеры.
В следующих N строках описываются машины, которые проедут через ваш пост.
Сначала одно число M - количество нарушений у машины, затем перечисляются сами нарушения
Выходной файл должен содержать одно целое число - максимальное количество штрафов, которое сможет сделать робот.
0 < N, K ≤ 106
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|