Информатика

1 132 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Фермер Джон придумал игру для своих коров
 
Она играется на решётке R*C (2 <= R <= 750, 2 <= C <= 750), где каждый квадрат помечен целым числом от 1 до K (1 <= K <= R*C). Коровы выполняют последовательность прыжков, начиная в левом верхнем квадрате и заканчивая в правом нижнем квадрате и прыжок является корректным если и только если:
 
1) Вы прыгаете на квадрат c другим числом
 
2) Квадрат, куда Вы прыгаете, как минимум на одну строку ниже квадрата, в котором Вы сейчас стоите
 
3) Квадрат, в который Вы прыгаете как минимум на одну колонку правее квадрата, в котором Вы сейчас стоите
 
Пожалуйста, помогите коровам вычислить количество возможных различных последовательностей корректных прыжков из левого верхнего квадрата в правый нижний.
 
INPUT FORMAT:
Первая строка ввода содержит целые числа R, C, K. Каждая из следующих R строк содержит C целых чисел, каждое в интервале 1..K.
 
OUTPUT FORMAT
Выведите количество различных способов пропрыгать из левого верхнего угла в правый нижний, по модулю 1000000007.
 
Ввод Вывод
4 4 4
1 1 1 1
1 3 2 1
1 2 4 1
1 1 1 1
5
Одним из самых простых способов шифрования открытого текста является шифр простой замены. Он состоит в том, что каждая буква в алфавите, которым написано открытое сообщение, заменяется на какой-то другой символ, например, другую букву того же алфавита. Пусть дана таблица замены, использующая для замены только 33 буквы русского алфавита в верхнем регистре (заглавные буквы):
   
Сообщение Шифртекст Сообщение Шифртекст Сообщение Шифртекст
А Г К Т Х З
Б Ш Л Х Ц Ж
В Ы М Я Ч Л
Г О Н Ь Ш Ё
Д Э О Ф Щ Н
Е Ц П У Ъ Д
Ё М Р К Ы Е
Ж Ъ С Ю Ь Б
З Щ Т Р Э Ч
И А У П Ю И
Й В Ф С Я Й

Если применить замену, заданную такой таблицей, к слову «ДОМ», получится зашифрованный текст «ЭФЯ». Если применить замену к полученному результату, из «ЭФЯ» получится «ЧСЙ», а из «ЧСЙ» таким способом можно получить текст «ЛЮВ». Известно, что через некоторое количество применений замены полученный результат совпадет с исходным словом «ДОМ», после чего результаты замены начнут повторяться. Определите, сколько различных шифртекстов (включая совпадающий с исходным словом) можно получить из произвольного заданного слова по произвольно заданной таблице замены таким способом.

Рекомендации.
До начала работы над программной реализацией постарайтесь найти ответы на следующие вопросы:
1. Сколько различных зашифрованных текстов (включая и совпадающий с открытым текстом) можно получить одной операцией замены из открытого текста с n различными буквами, используя все возможные таблицы замены.
2.Можно ли получить все возможные зашифрованные тексты (число которых установлено в пункте 1), применяя к результату зашифрования операцию замены символов по одной и той же таблице неограниченное число раз.

Формат ввода:
В первой строке задана строка с  алфавитом используемых символов. Во второй строке задана последовательность заглавных букв, заменяющих буквы, стоящие в алфавитном порядке (таблица замены). Например, приведенной выше таблице соответствует строка «ГШЫОЭЦМЪЩАВТХЯЬФУКЮРПСЗЖЛЁНДЕБЧИЙ». В следующей строке задано слово, являющееся открытым текстом – в верхнем регистре (заглавными буквами) без пробелов. Например, слово «КРИПТОАНАЛИЗ».
Каждая из этих строк заканчивается либо символами с кодами 13, 10 (окончание строк DOS – для Pascal ABC .NET), либо символом с кодом 10 (окончание строк Unix) в зависимости от выбранного при сдаче программы типа конца строк. Никаких других символов в двух входных строка не встречается.
Русский текст задан в кодировке Windows-1251 (cp1251). В ней заглавные русские буквы от "А" до "Я" кроме буквы "Ё" имеют коды от 192 (шестнадцатеричное C0) до 223 (шестнадцатеричное DF). Буква "Ё" имеет код 168 (шестнадцатеричное A8). Русские буквы (кроме "Ё") упорядочены по алфавиту.

Формат вывода:
В единственной строке выведите число, соответствующее количеству различных возможных шифртекстов, которые можно получить из заданного открытого текста с помощью заданной таблицы замены.
 
Вася обожает выставлять сложные фигуры из костяшек домино и, толкнув одну из них, смот- реть, как вся конструкция падает. Однако, он сделал уже так много фигур, что решил придумать что-то новое.
Для своей новой идеи он использует костяшки не только длиной 2, но и более длинные (и более короткие). Все костяшки выстраиваются в одну линию на расстоянии 1, а цель игры опрокинуть все костяшки толкнув наименьшее количество костяшек.

Каждую костяшку можно толкнуть влево или вправо, падая она опрокидывает все костяшки, находящиеся на расстоянии строго меньшем высоты падающей костяшки. При этом те костяшки, которые упали в результате падения на них других костяшек также падают в ту же сторону и, в свою очередь, могут опрокидывать и другие костяшки и так далее.
 
Формат входных данных
В первой строке записано натуральное число N  (0 <= N <= 1 000 000)      количество костяшек.  Во второй строке записано N натуральных чисел Hi (1 <= Hi <= 1 000 000) высоты костяшек.
Формат выходных данных
Выведите число M наименьшее количество костяшек, которые нужно толкнуть, чтобы вся конструкция упала.
В следующих M строках выведите описание костяшек, которые необходимо толкнуть: номер костяшки (нумерация начинается с единицы и идет слева-направо), а также направление толчка: букву L для толчка влево и R для толчка вправо. Номер костяшки и букву разделяйте пробелом.
Порядок вывода костяшек, которые нужно толкнуть, может быть произвольным. Если решений несколько выведите любое из них

Система оценки
Решения, верно работающие при N <= 1000, будут набирать не менее половины баллов.
 
Ввод Вывод
6
1 2 1 4 1 3
1
6 L
7
1 2 4 1 2 3 2
2
3 R
2 L
Замечание
В первом примере последняя костяшка толкается влево, опрокидывая костяшки с номерами 4 и 5 (их высоты 4 и 1 соответственно). Костяшка номер 4 также падает налево и опрокидывает костяшки с номерами 1, 2 и 3.
Во втором примере костяшка номер 3 толкается вправо, опрокидывая костяшки номер 4, 5 и 6.
Костяшка номер 6 также падает вправо и опрокидывает костяшку номер 7. После этого костяшка
номер 2 толкается влево и опрокидывает костяшку номер 1.

При игре в лапту одна команда ловит мяч и пытается осалить им бегущего. Игрок другой команды должен, перед тем как бежать, ударить мяч в поле. Известно, на какое максимальное расстояние он может ударить, а также скорости и начальные координаты игроков другой команды. Требуется выбрать направление и силу удара так, чтобы минимальное время, которое потребуется другой команде, чтобы поднять мяч с земли, было наибольшим. (Пока мяч летит, игроки стоят на местах.)


Входные данные: 

- в первой строке входных данных содержатся два числа: D — максимальное расстояние удара и N — количество соперников на поле (D и N натуральные числа, \(D <= 1000\)\(N <= 200\)); 
- в следующих N строках задается по три числа – начальные координаты xi и yi и максимальная скорость vi соответствующего игрока (скорости и координаты — целые числа, \(–1000 <= x_i <= 1000\), \(0 <= y_i <= 1000\), \(0 < v_i <= 1000\)).
Никакие два игрока не находятся изначально в одной точке. Игрок, бьющий мяч, находится в точке с координатами (0,0). Мяч выбивается в точку с неотрицательной ординатой (\(y >=  0\)).


Выходные данные: выведите сначала время, которое потребуется игрокам, чтобы добежать до мяча, а затем координаты точки, в которую нужно выбить мяч. Если таких точек несколько, выведите координаты любой из них. Время и координаты нужно вывести с точностью \(10^{–3}\).
 

Примеры
Входные данные Выходные данные
1
10 2
1 1 1
-1 1 1
9.05539
0.00000 10.00000
При покупке товаров в интернет-магазинах все выбранные товары складываются в корзину. При этом покупатели могут забыть добавить какой-нибудь из нужных им товаров.
Для того, чтобы покупатели остались довольны покупкой, а магазин получил больше прибыли существует механизм рекомендаций, который определяет, какие товары обычно покупают вместе с набором уже выбранных. Например, если покупатель положил в корзину ластик, то, наверняка, ему также понадобится карандаш.

Вам необходимо разработать сервис рекомендаций, который по истории предыдущих заказов разработает для покупателя рекомендации, основанные на текущем состоянии его заказа.
Рекомендации должны быть двух типов: "с этим товаром всегда берут следующие товары" и "с этим товаром часто берут следующие товары".  При этом "часто" понимается как 50% и более.
Например, если покупатель хочет купить два товара A и B, а предыдущие заказы были вида (A,
D), (B, C, E), (C, F), (C, E, F, G) и (A, B, C, E), то товары C и E надо рекомендовать как те, что
покупается всегда (вместе с товаром B), а D  как тот, что покупается часто (50% случаев заказов
с товаром A).

Если товар всегда покупался с одним из заказанных, то необходимо включить в число часто покупаемых и те, которые часто встречаются с этим товаром (не менее чем в 50% случаев) в ранее сделанных заказах. Таким образом, дополнительно к товарам покупаемым часто, добавится товар F, который часто покупается с товаром C. Товар G рекомендовать не нужно, т.к. он встречается меньше, чем в 50% заказов вместе с товаром C.

Не нужно рекомендовать товары, которые уже выбрал покупатель. Если товар можно рекомендовать как "часто" и "всегда", то следует рекомендовать его только как "всегда".

Входные данные
В первой строке входного файла записывается количество старых заказов N. Следующие N строк содержат названия товаров, сделанных в этом заказе. Каждое название состоит из одного слова, слова разделены пробелами. В следующей строке содержится описание текущего заказа: набор названий товаров, разделенных пробелами.

Выходные данные
Для текущего заказа выведите две строки. Первая строка должна содержать названия товаров, которые всегда покупаются вместе с товарами из текущего заказа, вторая  с названиями часто покупаемых товаров (соответственно определению часто покупаемых товаров из условия задачи).

Слова следует разделять пробелами. Порядок вывода не важен.

Ввод Вывод
5
A D
B C E
C F
C E F G
A B C E
A B
C E
D F

В научно-исследовательском институте чародейства и волшебства пожар! Во время опыта Кор- неева В. П. по превращению всей морской и океанской воды планеты в живую воду произошло короткое замыкание, и теперь его кабинет объят пламенем. Задача первостепенной важности — спасти из огня ценные лабораторные приборы, в особенности единственный в своём роде диван- транслятор µ-поля. Ваша задача — перенести диван-транслятор из кабинета Корнеева в запасную лабораторию изучения µ-поля.

НИИЧАВО состоит из N кабинетов, соединённых M коридорами. Кабинеты пронумерованы це- лыми числами от 1 до N, при этом кабинет Корнеева имеет номер A, а лаборатория изучения µ-поля расположена в кабинете номер B. Благодаря специальному искажению пространства внутри инсти- тута, все коридоры имеют одинаковую длину, которую можно пройти за 1 минуту, если двигаться быстрым шагом.

Ситуация усугубляется тем, что диван-транслятор — прибор, очень чувствительный к резким пе- репадам температуры. Внутри каждого коридора НИИЧАВО поддерживается свой температурный режим. Если абсолютная величина разности температур в двух последовательных коридорах на пути из кабинета Корнеева в лабораторию окажется больше D градусов, то диван-транслятор пе- рейдёт в нестабильное состояние, что может привести к катастрофическим последствиям. Обратите внимание, что на своём пути вы не заходите в сами кабинеты, а только переходите из коридора в коридор, поэтому климат внутри кабинетов не влияет на диван-транслятор. В силу причин магиче- ского характера, войдя в коридор, вы обязаны дойти до его конца, иными словами, останавливаться или разворачиваться посреди коридора запрещено. По каждому коридору можно перемещаться в обоих направлениях.

Определите, за какое минимальное время можно добраться из кабинета Корнеева до запасной лаборатории, не допуская резкого перепада температур. В рамках данной задачи вам предлагается ответить на поставленный вопрос для нескольких пар значений A и B.

Формат входных данных
В первой строке входных данных следуют три целых числа N, M и D (2 <= N <= 100 000, 1 <= M <= 200 000, 0 <= D <= 2 · 108 ), обозначающие количество кабинетов, количество коридоров в НИИЧАВО и максимальный допустимый перепад температур для дивана-транслятора в граду- сах. В последующих M строках находятся описания коридоров. Каждая строка содержит по три целых числа ui , vi , ti — номера двух кабинетов, соединённых i-м коридором, и значение температуры в этом коридоре, выраженное в градусах (1 <= ui , vi <= N, −109 <= ti <= 109 ). Как вы уже могли понять, НИИЧАВО — весьма необычное заведение, поэтому между двумя кабинетами может пролегать несколько коридоров, возможно с разными температурами, а некоторые коридоры могут соединять кабинет с самим собой. Гарантируется, что коридоры перечислены во входном файле в порядке неубывания ti . В следующей строке находится целое число Q (1 <= Q <= 50) — количество пар A и B, которые вам требуется обработать. В каждой из последующих Q строк находятся по два целых числа Ai , Bi , обозначающих номер кабинета Корнеева и номер кабинета, в котором расположена лаборатория (1 <= Ai , Bi <= N, Ai != Bi).

Формат выходных данных
Для каждого набора данных выведите в отдельной строке минимальное количество минут, ко- торое требуется потратить, чтобы добраться из кабинета Корнеева до лаборатории, либо выведите −1, если сделать это, используя допустимый для дивана-транслятора маршрут, невозможно.

Примеры
Ввод Вывод
6 9 5
6 6 -42
1 2 4
2 3 6
3 2 7
2 5 11
6 1 12
1 3 15
3 4 16
5 6 18
2
1 5
4 2
4
-1
6 9 7
6 6 -42
1 2 4
2 3 6
3 2 7
2 5 11
6 1 12
1 3 15
3 4 16
5 6 18
1
4 2
5

Замечание
Пояснение к тестам из условия. В обоих тестах план НИИЧАВО выглядит следующим образом:

Рассмотрим первый тест, в нём D = 5. В первом наборе A = 1, B = 5. В качестве воз- можного маршрута может выступить следующая последовательность переходов по коридорам:
Третьим шагом можно вернуться в кабинет 2 и по тому же коридору с t = 6 .
Во втором наборе A = 4, B = 2. Способа добраться из кабинета 4 в кабинет 2, ни разу не допустив перепад температуры больше, чем в 5 градусов, не существует.

Во втором тесте D = 7. В единственном наборе A = 4, B = 2 cтартовый и конечный кабинет те же, что и во втором наборе первого теста из условия, но допустимый перепад температур больше, благодаря чему подходит следующий маршрут: 
В некотором королевстве есть n городов, соединенных магическими порталами. Каждая пара различных городов соединена ровно одним магическим порталом, позволяющим мгновенно перемещаться из одного города в другой.

Из-за свойств магии, определяющей работу порталов, каждый портал можно использовать только в одну сторону. Для каждой пары городов A и B известно, можно ли воспользоваться порталом для перемещения напрямую из A в B или из B в A.

Из-за особенностей магических порталов иногда при перемещении жителей королевства из одного города в другой приходится использовать несколько порталов. Также могут существовать такие пары городов, что из одного города в другой нельзя добраться, используя только магические порталы.

Жители королевства называют город совершенным, если из него можно добраться до любого другого города в королевстве, используя только магические порталы. Пусть изначально количество совершенных городов в королевстве равно k.

Недавно король принял решение выбрать пару городов и изменить разрешенное направление перемещения по порталу, соединяющему их, на противоположное. Для выбора лучшего варианта король хочет понять, какое количество совершенных городов может оказаться в королевстве после перенастройки ровно одного портала.

Для получения этой информации король планирует запросить в министерстве транспорта соответствующий отчет. Король может запросить либо частичный, либо полный отчет. Содержимое отчета зависит от параметра L, для частичного отчета L = k + 1, для полного отчета L = 1.

Отчет содержит для каждого целого числа m, такого что m ≥ L, число таких пар городов A и B, для которых выполняются следующие условия:
- исходно магический портал позволяет перемещаться напрямую из города A в город B;
- если изменить направление перемещения этого магического портала на противоположное, чтобы он позволял напрямую перемещаться из города B в город A, то количество совершенных городов в королевстве станет равным m.

Таким образом, частичный отчет содержит информацию только о тех способах перенастройки одного портала, которые строго увеличивают количество совершенных городов в королевстве. Полный отчет содержит информацию обо всех способах перенастройки одного портала.

Требуется написать программу, которая по информации о разрешенных направлениях перемещения с использованием магических порталов, и информации о том, требуется предоставить частичный или полный отчет, формирует соответствующий отчет и выводит его в описанном ниже формате.

Формат входного файла
Первая строка входного файла содержит два целых числа: n — количество городов в королевстве (2 ≤ n ≤ 2000) и p, равное либо 0, если требуется вывести частичный отчет, либо 1, если требуется вывести полный отчет. Последующие n строк содержат по n символов, каждый из которых может быть «+», «–» или «.», и i-я из этих строк описывает магические порталы, соединяющие i-й город с другими городами.
В i-й строке j-й символ равен «+», если магический портал позволяет напрямую перемещаться из i-го города в j-й, равен «–», если магический портал позволяет напрямую перемещаться из j-го города в i-й, и равен «.», если i = j.
Формат выходного файла
Первая строка выходного файла должна содержать одно целое число k — количество совершенных городов в королевстве.
Если требуется частичный отчет (p = 0), то вторая строка выходного файла должна содержать (n – k) целых неотрицательных чисел, разделенных пробелами, где i-е из этих чисел должно быть равно количеству пар городов, изменение направления портала между которыми на противоположное приводит к тому, что количество совершенных городов в королевстве станет равным (k + i). Если при этом k = n, то вторая строка может отсутствовать, либо быть пустой.
Если требуется полный отчет (p = 1), то вторая строка должна содержать n целых неотрицательных чисел, разделенных пробелами, где i-е из этих чисел должно быть равно количеству пар городов, изменение направления портала между которыми на противоположное приводит к тому, что количество совершенных городов в королевстве станет равным i.

Пример:
Ввод Вывод
5 0
.-+++
+.+++
--.+-
---.+
--+-.
1
0 0 0 3
5 1
.-+++
+.+++
--.+-
---.+
--+-.
1
7 0 0 0 3

Пояснение к примерам

В приведенных примерах изначально совершенным является только город 2.
Изменив направление порталов, соединяющих пары городов (2, 3), (2, 4) или (2, 5), можно сделать все города совершенными. Изменение направление любого другого портала делает совершенным один город.
Пете и Васе стало очень скучно на уроке биологии, и они решили поиграть в любимую всеми школьниками игру в крестики-нолики до пяти в ряд на бесконечном поле.
Рассмотрим кратко правила игры. Игра происходит на бесконечном клетчатом поле, два игрока делают ходы по очереди, первый игрок ходит крестиками, а второй — ноликами. В свой ход игрок
выбирает свободную клетку поля и ставит туда свой символ. Если после хода очередного игрока на поле есть пять его символов подряд по вертикали, горизонтали или диагонали, то сделавший такой ход игрок объявляется победителем и игра заканчивается.
Петя и Вася уже довольно долго играют в игру. Сейчас должен ходить Петя, который играет крестиками. Петя надеется побыстрее завершить игру и хочет выиграть не более чем за два, а лучше
за один ход. Петя называет ход оптимальным, если для этого хода выполнено одно из двух:
• этот ход приводит к немедленной победе Пети;
• не существует хода, который приводит к немедленной победе Пети, но если Петя сделает этот ход, то Вася не выиграет следующим ходом и, вне зависимости от ответного хода Васи, у Пети
будет следующий ход, который приведет к его немедленной победе.
Помогите Пете найти количество оптимальных ходов.
Формат входных данных
В первой входного файла находятся два натуральных числа n, m (1 ≤ n,m ≤ 200) — размеры прямоугольника, содержащего все уже поставленные на поле крестики и нолики.
Следующие n строк содержат по m символов, каждый из которых равен одному из следующих:
«.» (точка), «X» (заглавная латинская буква «икс») или «0» (ноль). При этом «.» обозначает пустую клетку, «X» обозначает крестик, а «0» обозначает нолик. Гарантируется, что на поле находится
равное число крестиков и ноликов, и ни один игрок еще не одержал победу.
Формат выходных данных
Выведите одно число — количество оптимальных ходов Пети.
 
Примеры
Входные данные Выходные данные
1
5 3
...
000
XXX
...
...
2
2
4 4
..0.
.XX0
.0X.
....
0
3
5 6
......
.XXX..
.0000.
..X...
......
0
 

Фрагмент звёздного неба спроецирован на плоскость с декартовой системой координат. Учёный решил провести кластеризацию полученных точек (изображений звёзд), то есть разбить их множество на N непересекающихся непустых подмножеств так, что точки каждого подмножества лежат внутри прямоугольника размера H × W, причём эти прямоугольники между собой не пересекаются. Стороны прямоугольников не обязательно параллельны координатным осям. Гарантируется, что такое разбиение существует и единственно.

Для каждой звезды дана характеристика: тип цвета, светимость и размер согласно таблицам:

Цвет:                     Размер:
O — голубой               I    — карлик
B — бело-голубой          II   — субкарлик
A — белый                 III  — гигант
F — жёлто-белый           IV   — сверхгигант
G — жёлтый                V    — мегагигант
K — оранжевый             VI   — супергигант
M — красный

Значения записаны в характеристике слитно: обозначение цвета, затем светимость (одна арабская цифра), затем размер звезды (например, A3III).

Антицентром кластера называется точка кластера, сумма расстояний от которой до всех остальных точек кластера максимальна; для каждого кластера антицентр единственен. Расстояние между точками A(x1, y1) и B(x2, y2):

\(d(A, B) = \sqrt{ (x_1 − x_2)^2 + (y_1 − y_2)^2 }\)

В файле A хранятся данные о звёздах двух кластеров, где для каждого кластера H = 4, W = 3; количество точек не превышает 1000. В файле B хранятся данные о звёздах трёх кластеров, где для каждого кластера H = 4, W = 3; количество точек не превышает 20000. В каждой строке записана информация об одной звезде: координата x, координата y и характеристика звезды. Структура файла B аналогична файлу A.

Для файла A определите координаты антицентра каждого кластера, затем найдите два числа: A1 — минимальное расстояние от голубого субкарлика до антицентра его кластера; A2 — сумму расстояний антицентров кластеров до точки (−1, 2). Для файла B определите антицентры кластеров, затем найдите два числа: B1 — абсциссу антицентра кластера с минимальным количеством субкарликов; B2 — ординату антицентра того же кластера.

В ответе запишите четыре числа: целую часть значения A1 × 10000, затем целую часть значения A2 × 10000, затем число B1 × 10000, затем число B2 × 10000.



Формат ответа
Ответ вводится построчно, в первой строке для файла А, во второй - для файла В. Числа в одной строке разделяются одним пробелом.
А1 А2
В1 В2

Если задание выполняется в эмуляторе станции КЕГЭ, то ответ вводится в таблицу также построчно. Каждое число в отдельной ячейке

Фермерское хозяйство закупает виноград у местных поставщиков для производства соков. Используется виноград двух типов: A и B. Приём ведут K сборщиков, пронумерованных натуральными числами начиная с 1. Сборщики с нечётными номерами принимают только виноград типа A, сборщики с чётными номерами — только виноград типа B.

Поставщики приезжают на склад в течение рабочего дня. Для каждого поставщика известно время прибытия и время, в которое закончилась бы его разгрузка, если начать её сразу по прибытии; время указывается в секундах от начала рабочего дня. Партию принимает свободный сборщик подходящего типа с наименьшим номером, разгрузка начинается в момент прибытия. Сборщик, закончивший разгрузку в секунду t, готов принять следующего поставщика начиная с секунды t + 5. Если в момент прибытия все подходящие поставщику сборщики заняты, партия отправляется на рынок без участия сборщиков.

Формат входных данных. В первой строке входного файла записаны два числа: N — количество поставщиков (N ≤ 10 000) и K — количество сборщиков (K ≤ 100). Каждая из следующих N строк содержит два целых неотрицательных числа и букву, разделённые пробелами: время прибытия, время окончания разгрузки и тип винограда (A или B). Гарантируется, что время прибытия меньше времени окончания разгрузки и что никакие два поставщика с виноградом одного типа не прибывают в одну и ту же секунду. Поставщики перечислены в произвольном порядке.

Определите, сколько партий винограда было принято сборщиками и каков номер сборщика, который последним начал приём партии. Если таких сборщиков несколько, укажите наименьший номер. В ответе запишите два числа: сначала количество принятых партий, затем номер сборщика.

Пусть R – сумма 4 наибольших делителей числа. Напишите программу, которая перебирает целые числа, большие 1151 996, в порядке возрастания и ищет среди них такие, для которых R является простым числом и палиндромом, т.е. одинаково читается слева направо и справа налево. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце – соответствующие им значения R. Количество строк в таблице для ответа избыточно.

Текстовый файл состоит из римских цифр I, V, X, L, C, D, M и знаков арифметических операций «+» и «−» (сложение и вычитание). Определите максимальное количество символов в непрерывной последовательности, которая является корректным арифметическим выражением с корректными римскими числами. В ответе укажите количество символов.

Примечание. Римские числа записываются комбинацией семи основных символов латинского алфавита, каждый со своим значением:

I = 1     V = 5     X = 10    L = 50
C = 100   D = 500   M = 1000

Символы I, X, C, M могут повторяться не более 3 раз подряд; комбинации для 4, 9, 40, 90, 400, 900 записываются «вычитанием» (IV, IX, XL, XC, CD, CM). Числа записываются слева направо от большего значения к меньшему. Если символ с меньшим значением стоит после символа с большим или равным значением, их значения складываются. Если символ с меньшим значением стоит перед большим, его значение вычитается, но только для комбинаций: I перед V или X (IV = 4, IX = 9); X перед L или C (XL = 40, XC = 90); C перед D или M (CD = 400, CM = 900).

Курьерская служба «Скоробег» обслуживает заявки одной машиной. За день поступило N заявок: для каждой известно желаемое окно доставки — время прибытия к клиенту и время окончания обслуживания (когда курьер освобождается). Машина может обслуживать только одну заявку одновременно.
После каждой выполненной заявки курьер тратит ровно B минут на переезд к следующему клиенту и подготовку груза. Поэтому новая заявка может начаться не раньше, чем через B минут после окончания предыдущей. Заявки, не попадающие в этот режим, отклоняются.
Курьеру оплачивают каждую выполненную заявку, а также действует надбавка за переработку, поэтому он стремится не только выполнить как можно больше заявок, но и закончить рабочий день как можно позже.

Найдите максимальное количество заявок, которое сможет выполнить курьер. Если расписаний с таким количеством заявок несколько, выберите то, в котором время окончания последней выполненной заявки максимально. Выведите два числа через пробел: найденное количество заявок и это максимальное время окончания.

Формат входных данных
В первой строке — два натуральных числа: N и B. В каждой из следующих N строк — пара целых чисел: время начала и окончания заявки.

В ответе запишите два числа через пробел.

В терминале авиакомпании «Северный путь» работает K стоек регистрации; каждая стойка имеет категорию обслуживания: 1 — эконом, 2 — премиум, 3 — бизнес. Стойка категории c может обслуживать пассажиров только своей категории и ниже.

Пассажир класса c идёт к свободной стойке с подходящей категорией (≥ c) и наименьшим номером. Если такой стойки нет — пассажир уходит в самообслуживание (в задаче не учитывается). Стойка может принять следующего пассажира в ту же минуту, когда закончила обслуживать предыдущего.

Известна статистика за смену: N пассажиров, для каждого — время прихода, длительность регистрации и класс билета.

Найдите общее количество пассажиров, обслуженных через стойки, и номер стойки, которая обслужила больше всех. Если таких стоек несколько — меньший номер.

Формат входных данных. В первой строке — натуральное число K. Во второй строке — K натуральных чисел через пробел — категории стоек по порядку номеров от 1 до K. В третьей строке — натуральное число N. В каждой из следующих N строк — три числа: время прихода, длительность регистрации, класс пассажира.

В ответе запишите два числа через пробел.

Данные представлены в файле 26-final-6.txt.

Сувенирная мастерская «Терем» собирает подарочные наборы по принципу «матрёшки»: подарок размера S упаковывают в коробку, ту — в коробку побольше, и так далее. Все коробки кубические; в наличии N коробок двух цветов: синие и красные.

В матрёшку идут только красные коробки. Каждая следующая коробка должна быть больше предыдущей не менее чем на K единиц длины стороны, где Kминимальная разница между длиной стороны какой-либо синей коробки и длиной стороны какой-либо красной коробки во всём массиве. Это условие применяется и к стартовому шагу: первая красная должна быть больше подарка S не менее чем на K.

Синие коробки сами в матрёшку не идут — они нужны только для определения параметра K.

Найдите максимальное количество красных коробок, которое можно использовать для упаковки одного подарка, и минимально возможную длину стороны самой большой коробки в таком наборе.

Формат входных данных. В первой строке — два натуральных числа: N и S. В каждой из следующих N строк — два числа через пробел: длина стороны коробки и обозначение цвета (0 — синяя, 1 — красная).

В ответе запишите два числа через пробел.

Данные представлены в файле 26-final-5.txt.

Музей «Грани» проводил вечернюю выставку. За вечер зафиксировано N сессий посещения: для каждой известны время прихода посетителя и время ухода в минутах от начала суток. Сессии могут пересекаться: одновременно в зале может находиться несколько посетителей.

Если один посетитель ушёл в ту же минуту, когда пришёл другой, — они не пересекаются: турникет успевает обработать обмен.

Найдите максимальное число посетителей, которые одновременно находились в зале за вечер, и самый ранний момент времени (в минутах от начала суток), в который это число было достигнуто.

Формат входных данных. В первой строке — натуральное число N. Каждая из следующих N строк содержит пару целых чисел через пробел — время прихода и ухода посетителя.

В ответе запишите два числа через пробел.

Данные представлены в файле 26-final-4.txt.

Логистическая компания «Экспресс-куб» управляет автоматизированной сортировкой посылок по постаматам. На обработку поступило N посылок разного веса; в наличии M свободных ячеек, у каждой задана максимальная грузоподъёмность.

Каждая посылка укладывается в одну ячейку при условии: вес посылки не превышает грузоподъёмности ячейки. В одну ячейку помещается не более одной посылки.

Оператор хочет максимально загрузить постамат при оптимальном распределении посылок по ячейкам. Найдите максимальное количество посылок, которое можно разместить, и вес самой тяжёлой из размещённых посылок при таком оптимальном распределении.

Формат входных данных. В первой строке — два натуральных числа через пробел: N — количество посылок и M — количество ячеек. В следующих N строках — вес каждой посылки в граммах. В следующих M строках — грузоподъёмность каждой ячейки в граммах.

В ответе запишите два числа через пробел.

Данные представлены в файле 26-final-3.txt.

В спортивный лагерь «Высота» отбираются спортсмены для основного состава. Поступило N заявок (N кратно 4); для каждого спортсмена известны: идентификатор (натуральное число от 1000 до 9999), количество дисциплинарных нарушений за прошедший сезон (целое число от 0 до 5), результат тестов общей физической подготовки (натуральное число от 50 до 100), возраст (натуральное число от 16 до 18).

Тренерский совет ранжирует спортсменов по правилам в строгом порядке приоритета:

  1. Меньше нарушений — выше в рейтинге.
  2. При равных нарушениях — выше результат тестов.
  3. При равных результатах — старше возраст (приоритет более опытным).
  4. При равном возрасте — меньший идентификатор.

В основной состав попадают первые 25% списка после ранжирования.

Найдите идентификатор последнего спортсмена основного состава (то есть на 25%-й позиции списка) и общее количество спортсменов без нарушений во всём массиве заявок.

Формат входных данных. В первой строке — натуральное число N. Каждая из следующих N строк содержит четыре целых числа через пробел: идентификатор, количество нарушений, результат тестов, возраст.

В ответе запишите два числа через пробел.

Данные представлены в файле 26-final-2.txt.

Курьерская служба «Скоробег» обслуживает заявки одной машиной. За день поступило N заявок: для каждой известно желаемое окно доставки — время прибытия к клиенту и время окончания обслуживания (когда курьер освобождается). Машина может обслуживать только одну заявку одновременно.

После каждой выполненной заявки курьер тратит ровно B минут на переезд к следующему клиенту и подготовку груза. Поэтому новая заявка может начаться не раньше, чем через B минут после окончания предыдущей. Заявки, не попадающие в этот режим, отклоняются.

Найдите максимальное количество заявок, которое сможет выполнить курьер. Если таких расписаний несколько, курьер выбирает то, в котором он освободится как можно раньше. Выведите два числа: количество выполненных заявок и время окончания последней из них

Формат входных данных. В первой строке — два натуральных числа: N и B. В каждой из следующих N строк — пара целых чисел: время начала и окончания заявки.

В ответе запишите два числа через пробел.

Данные представлены в файле 26-final-1.txt.

(А. Богданов) Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может убрать из любой кучи один или три камня. Игра завершается в тот момент, когда количество камней в любой из куч становится менее 10. Победителем считается игрок, сделавший последний ход, т.е. первым получивший кучу, в которой меньше 10 камней. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.

Задание 19. В начальный момент в кучах было по S камней. Найдите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом.
Задание 20. Известно, что в первой куче 13 камней, а во второй – S камней (S ≥ 10). Найдите наименьшее и наибольшее значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Запишите в ответе сначала наименьшее значение, потом – наибольшее.
Задание 21 Известно, что в первой куче 13 камней, а во второй – S камней (S ≥ 10). Найдите наименьшее и наибольшее значения S, при котором одновременно выполняются два условия:
– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Запишите в ответе сначала наименьшее значение, потом – наибольшее.

Поделиться
Класснуть