Республиканская олимпиада по информатике 2009 год
Задача A. Муха
Ограничение по времени:
0.5 секунды
Ограничение по памяти:
256 мегабайт
Из двух городов, находящихся на расстоянии D, в момент времени 0 навстречу друг другу выехали два велосипедиста со скоростью V1 и V2 соответственно. Одновременно с первым велосипедистом из первого города навстречу второму вылетела муха со скоростью W (W≥max(V1,V2)). Когда муха долетает до второго велосипедиста, она мгновенно разворачивается и летит обратно. Долетев до первого велосипедиста, она опять разворачивается и так далее. Определите, сколько раз развернется муха строго до момента времени T.
Формат входного файла
Входной файл содержит 5 неотрицательных целых чисел: D, V1, V2, W, T (T⋅(V1+V2)<D). Никакое из чисел не превышает 107.
Формат выходного файла
Выходной файл должен содержать одно целое число — ответ к задаче.
Пример:
Вход 10 0 0 10 10Ответ
9Вход
20 1 2 3 4Ответ
0
комментарий/решение Проверить мое решение
Задача B. Фокус
Ограничение по времени:
2 секунды
Ограничение по памяти:
256 мегабайт
Помните про фокус с мухами, который изобрел Баха? Жома решил посоревноваться с ним и придумал свой фокус! У Жомы есть ящик. Он может запускать туда муху или выпускать. Также, он как хороший дрессировщик знает возраст каждой мухи в минутах с момента ее рождения. А фокус заключается вот в чем: в любой момент он может назвать возраст K-й по старшинству мухи, которая находится в ящике среди мух с возрастом от A до B включительно. Попробуйте и вы сделать этот фокус!
Формат входного файла
Первая строка входного файла содержит число N — общее количество событий (1≤N≤2⋅105). Далее следует N строк, каждая из которых описывает одно из событий:
- +X — в ящик впустили муху с возрастом X;
- −X — из ящика выпустили муху с возрастом X;
- ?KAB — у фокусника спросили возраст K-й по старшинству мухи в ящике среди мух с возрастом от A до B включительно (1≤K≤105, A≤B);
Формат выходного файла
Выходной файл должен содержать такое же количество строк, сколько запросов возраста было во входном файле. Для каждого такого запроса нужно вывести строку, содержащую соответствующее число — ответ на запрос. При этом, если при количество мух с возрастом от A до B в ящике меньше K, то нужно вывести 0.
Пример:
Вход 8 + 2 + 3 + 2 ? 2 2 3 - 2 ? 2 2 3 - 2 ? 2 2 3Ответ
2 3 0
комментарий/решение(1) Проверить мое решение
Задача C. Пароль
Ограничение по времени:
2 секунды
Ограничение по памяти:
256 мегабайт
Жома любит использовать длинные и сложные пароли. И, как это обычно бывает, он забыл... Забыл пароль от домашнего компьютера и теперь не может поиграть в новую NFS! Он очень расстроен и даже пару раз попытался вспомнить свой пароль. Но, увы, ничего не получилось. Однако он уверен, что при первой попытке он не ошибся ровно в A символах, а при второй — ровно в B, но он не знает, какие именно символы были введены без ошибок. И тут его заинтересовало, сколько же паролей удовлетворяют заданным условиям?
Формат входного файла
Первая строка содержит первую попытку ввода пароля, вторая строка — вторую. Длины обеих строк одинаковы и равны N (1≤N≤105). Каждая строка состоит только из строчных букв английского алфавита ('a'...'z'). Третья строка содержит число A, четвертая — B, 0≤A,B≤N.
Формат выходного файла
Выходной файл должен содержать ответ к задаче — остаток от деления количества возможных паролей на 109+7.
Пример:
Вход ab ac 1 1Ответ
24Возможные пароли в примере: aa, ad, ae, ... az.
комментарий/решение Проверить мое решение
Задача D. Путь в дереве
Ограничение по времени:
2 секунды
Ограничение по памяти:
256 мегабайт
Бесконечным троичным деревом назовем дерево, каждая вершина которого имеет ровно 3 потомка. В вершинах дерева написаны числа по следующему правилу:
- в корне дерева написано 1;
- пусть в некоторой вершине написано X, тогда в левом сыне этой вершины будет написано X⋅3, в среднем — X⋅3+1, в правом — X⋅3+2.
- L — в левого сына
- C — в среднего сына
- R — в правого сына
- S — стоять на месте
- ∗ — означает любой из предыдущих символов (L, C, R, S)
Формат входного файла
Входной файл содержит строку длиной от 1 до 2000 символов — шаблон пути.
Формат выходного файла
В выходной файл выведите одно число без ведущих нулей — ответ к задаче.
Пример:
Вход *LSОтвет
55Гарантируется, что в некотором подмножестве тестов, суммарно не превышающих 50 баллов N≤14.
комментарий/решение Проверить мое решение
Задача E. Физкультура
Ограничение по времени:
2 секунды
Ограничение по памяти:
256 мегабайт
В список предметных олимпиад школьников решили, наконец, внести и физкультуру, в частности, спортивную ходьбу, бег без препятствий, бег с препятствиями, бег в мешках и так далее. Оргкомитет должен подготовить по одному маршруту для каждого вида соревнований. Для проведения соревнований была выделена прямоугольная территория, которую для удобства разделили на квадраты так, что получилась сетка N×M. Для каждого квадрата была определена стоимость его подготовки к соревнованиям. Также были определены квадраты, в которых могут начинаться и оканчиваться маршруты участников. Маршрутом будем считать такую последовательность квадратов, что каждые два соседних квадрата в этой последовательности имеют общую сторону. Так как все виды соревнований будут проводиться параллельно, никакие два маршрута не должны пересекаться по квадратам, иначе участники будут мешать друг другу. Ваша задача — помочь оргкомитету выбрать маршруты так, чтобы суммарная стоимость подготовки их к соревнованиям была минимально возможной.
Формат входного файла
Первая строка входного файла содержит три целых числа: N, M и K (1≤N,M,K≤30), где N, M — размеры территории, а K — количество видов соревнований.
Каждая из следующих N строк содержит по M целых чисел в пределах от 1 до 100 — стоимость подготовки соответствующего квадрата к соревнованиям. Следующие K строк содержат по 2 целых числа — номер строки и столбца для квадрата, в котором может начинаться какой-нибудь маршрут. Последние K строк содержат также по 2 целых числа — номер строки и столбца для квадрата, в котором может заканчиваться какой-нибудь маршрут. Никакой квадрат не перечислен во входном файле дважды. Числа в строках разделены пробелами.
Формат выходного файла
В выходной файл нужно вывести ``Nosolution'', если невозможно выбрать K маршрутов, удовлетворяющих условию. В противном случае на первой строке выведите наименьшую суммарную стоимость подготовки, а на следующих строках — карту маршрутов. Карта маршрутов — это таблица размера N×M, в j-м столбце i-й строки которой расположен 0, если через соответствующих квадрат не проходит ни один маршрут, и целое положительное число X (1≤X≤K), если через него проходит маршрут для соревнования X. Если оптимальных ответов несколько, то выведите любой.
Числа в строках разделяйте пробелом.
Пример:
Вход 3 3 2 1 1 1 1 1 1 10 1 1 1 1 1 3 3 2 3 3Ответ
7 2 0 1 2 2 1 0 2 1Гарантируется, что в некотором подмножестве тестов, суммарно не превышающем 50 баллов, K=1.
комментарий/решение Проверить мое решение
Задача F. Магазины
Ограничение по времени:
2 секунды
Ограничение по памяти:
256 мегабайт
Город представляет собой выпуклый многоугольник. В городе имеется несколько магазинов. Каждый житель города ходит только в ближайший к нему магазин. Если ближайших магазинов несколько, то житель никуда не ходит. Для каждого магазина посчитайте, площадь территории, жители которой ходят в этот магазин.
Формат входного файла
Первая строка содержит целое число N — количество вершин многоугольника, представляющего город (3≤N≤50). Каждая из следующих N строк содержит по 2 целых числа — координаты вершин в порядке обхода против часовой стрелки. Следующая строка содержит целое число M — количество магазинов в городе (1≤M≤50). Каждая из следующих M строк содержит по 2 целых числа — координаты магазинов (i-я строка - координаты i-го магазина). Все точки различны. Координаты точек не превышают по абсолютному значению 10000. Числа в строках разделены пробелами.
Формат выходного файла
Выведите M вещественных чисел через пробел: i-е число — площадь, обслуживаемая i-м магазином округленная до двух цифр после десятичной точки.
Пример:
Вход 4 0 0 4 0 4 4 0 4 2 1 2 3 2Ответ
8.00 8.00Гарантируется, что в некотором подмножестве тестов, суммарно не превышающем 50 баллов, M≤2.
комментарий/решение Проверить мое решение