A. Маршрутное такси ограничение времени на тест: 0.5 сек.

advertisement
A. Маршрутное такси
ограничение времени на тест: 0.5 сек.
В час пик на остановку одновременно подъехали три маршрутных такси, следующие по
одному маршруту, в которые тут же набились пассажиры. Водители обнаружили, что
количество людей в разных маршрутках неодинаково, и решили пересадить часть
пассажиров так, чтобы в каждой маршрутке их было поровну. Требуется определить, какое
наименьшее количество пассажиров придется пересадить.
Входные данные
Во входном файле записано три натуральных числа, не превосходящих 100, - число
пассажиров в первой, второй и третьей маршрутках соответственно.
Выходные данные
В выходной файл выведите единственное число - наименьшее количество пассажиров,
которое требуется пересадить. Если это невозможно, выведите слово IMPOSSIBLE
(заглавными буквами).
Пример(ы)
input.txt
output.txt
1 2 3
1
input.txt
output.txt
99 99 100
IMPOSSIBLE
B. Переливания
ограничение времени на тест: 0.5 сек.
У профессора есть N емкостей. Каждая емкость характеризуется своим объемом Vi и
объемом находящейся в ней воды Ai. Каждый день профессор ставит эксперимент. В j-ый
день он выбирает число Pj (1 <= Pj <= N) и начинает последовательно переливать воду из Pjой емкости в емкости с номерами Pj+1, Pj+2, ..., N. При каждом переливании профессор
сливает максимальный объем воды из первой емкости во вторую, таким образом, чтобы
вторая емкость не переполнилась. Найдите объем воды в каждой емкости после N
экспериментов.
Входные данные
В первой строке входного файла содержится натуральное число N (1 <= N <= 100). Далее в
N строках записаны описания емкостей. Каждое описание состоит из пары целых чисел Vi,
Ai (1 <= Vi <= 100; 0 <= Ai <= Vi). Следующая строка содержит последовательность N чисел
P1, P2, ..., PN (1 <= Pi <= N).
Выходные данные
В выходной файл выведите последовательность B1, B2, ..., BN, где Bi - объем воды в i-ой
емкости после завершения N экспериментов.
Пример
Ввод
Test #1
2
10 7
5 3
2 1
Вывод
Test #2
2
5 3
11 7
1 2
Test #3
0 2 7
Test #1
5 5
Test #2
0 10
Test #3
3
5 3
5 1
7 5
2 1 2
C. Затмение
ограничение времени на тест: 2 сек.
Известный астроном Петя заметил, что солнечное затмение в Берляндии происходит во все
"неубывающие" года. Петя называет год "неубывающим", если цифры его номера идут в
неубывающем порядке. Например, 1256 год является "неубывающим", и в этот год
произошло солнечное затмение. А в 1354 году затмения не было. Петю заинтересовал
вопрос, сколько солнечных затмений произошло с 1 по N-ый год.
Входные данные
В первой строке входного файла содержится одно натуральное число N (1 ≤ N ≤ 107).
Выходные данные
Выведите единственное число - количество солнечных затмений в заданный период.
Пример
Ввод
Пример 1
1
Пример 2
100
Пример 3
10000000
Вывод
Пример 1
1
Пример 2
54
Пример 3
11439
D. Спасти Васю
ограничение времени на тест: 0.5 сек.
У Васи большие проблемы. В наказание за прогул урока алгебры учительница задала Васе
сложное задание на дом. Дан двучлен вида ax + b, его надо возвести в степень k, а после
этого вычислить сумму его коэффициентов. Вася возвел двучлен в квадрат и получил: a2x2 +
2abx + b2.
Дальше - гораздо сложнее. Вася совсем уже было отчаялся, но вовремя вспомнил, что у него
есть вы! А у вас есть компьютер и 5 часов рабочего времени.
Входные данные
В первой строке входного файла записаны три целых числа a, b и k (1 ≤ a, b ≤ 100, 1 ≤ k ≤
20).
Выходные данные
В первой строке выходного файла выведите одно число - сумму коэффициентов исходного
двучлена после возведения в степень k.
Пример
Ввод
Пример 1
1 2 2
Вывод
Пример 1
9
E. Клуб "Двоичный кот"
ограничение времени на тест: 2 сек.
Охрана клуба "Двоичный кот" никогда не дремлет. Охранник записывает имя каждого
посетителя и время, когда он вошел в клуб или вышел из него. Пометок о том, какому
событию соответствует эта запись он не ставит, так как понимает, что нечетная запись для
данного человека обозначает, что он вошел в клуб, а четная, что вышел из клуба.
Сотрудники специального отдела государственной службы безопасности хотят получить
сведения о посетителях, которые находились в клубе в заданные моменты времени.
Помогите охране клуба предоставить эту информацию.
Входные данные
В первой строке входного файла записана пара целых чисел n и m (1 ≤ n ≤ 1000; 1 ≤ m ≤
1000), где n - количество записей в журнале охраны, а m - количество запросов спецслужбы.
Далее в n строках содержатся описания записей в формате "hh:mm:ss имя", где hh:mm:ss
время в стандартном формате (ровно 8 символов), а "имя" это имя человека зашедшего или
вышедшего из клуба. Имя состоит из строчных или прописных букв латинского алфавита и
имеет длину от 1 до 16 символов включительно. Записи расположены в порядке неубывания
времен событий. Далее содержится m строк. Каждая строка содержит запись вида
"hh:mm:ss" задающую момент времени, которым интересуются сотрудники госбезопасности.
Все времена во входном файле ограничены одними сутками.
Выходные данные
Выведите m строк в выходной файл. Каждая строка должна содержать список людей,
которые находятся в клубе в соответствующий момент времени. Список должен начинаться
с количества людей, а затем должна следовать последовательность имен. Элементы списка
следует разделять пробелами. Имена в списках можно выводить в любом порядке. Так как
сотрудники госбезопасности не хотят упустить кого-либо из списка, то если именно в эту
секунду посетитель зашел в клуб, считайте, что он находится в клубе в эту секунду. Если
посетитель именно в эту секунду вышел из клуба, то следует считать, что он его еще
покинуть не успел, то есть посетитель еще находится в клубе.
Пример(ы)
input.txt
4 2
00:00:19
00:00:26
02:42:11
02:42:11
00:00:20
04:00:00
output.txt
Mike
Kate
Mike
Kate
input.txt
7 3
06:00:00
06:00:00
06:00:00
07:00:00
07:00:00
07:00:00
07:10:00
06:00:00
06:30:00
07:00:00
1 Mike
0
output.txt
Athos
Porthos
Aramis
Athos
Porthos
Aramis
dArtagnan
3 Aramis Athos Porthos
3 Aramis Athos Porthos
3 Aramis Athos Porthos
F. Раздел Берляндии
ограничение времени на тест: 0.5 сек.
Несколько веков назад после очередной революции к власти в Берляндии пришла новая
королевская династия. Первый ее представитель, Берландин Улан-Берды (Берландин I),
завещал своим сыновьям разделить Берляндию поровну, и каждому править на своей
территории. В свою очередь каждый сын перед своей смертью завещал своим наследникам
осуществить раздел принадлежащей ему территории поровну. Так продолжалось много
веков, пока феодальная раздробленность не привела к междоусобным войнам и вследствие
этого к ослаблению государства. Сразу, воспользовавшись ситуацией, на Берляндию напало
соседнее вражеское государство - Бирляндия. К счастью, в стране нашлись два героя (Винин
и Бочарский), которые собрали народное ополчение и пошли воевать с интервентами,
предварительно свергнув прежнюю власть династии Улан-Берды. После победного
окончания этой войны Винин и Бочарский решили положить конец раздробленности
Берляндии и разделить ее всего на две равные части, в каждой из которых
будет править один из них, а затем их наследники. Но, как выяснилось, в каждом из
существующих на данный момент королевств между их уже немногочисленными жителями
сложились крепкие соседские отношения, и во избежание народного восстания можно
осуществлять только объединение некоторых королевств, а никак не разделение. Винин и
Бочарский, занятые празднованием победы, очень просят вас помочь им в этом важном
государственном деле.
Входные данные
В первой строке входного файла содержится натуральное число N (1 ≤ N ≤ 105) - общее
количество правителей за всю историю феодальной раздробленности Берляндии. Далее в N
строках идет описание наследников каждого правителя. Сначала следует целое
неотрицательное число Ki - количество сыновей данного i-го правителя, а затем Ki
натуральных чисел - их номера (Ki = 0 или 2 ≤ Ki ≤ N - 1). Если Ki = 0, то это означает, что i-й
правитель не оставил наследников (или пока не оставил), и территория, принадлежащая ему,
осталась целостной. Берландин I имеет порядковый номер 1.
Выходные данные
Для каждого из образовавшихся в итоге королевств выведите один символ - "0", если после
объединения данное королевство окажется под властью Винина, и "1" - если оно войдет в
состав территории Бочарского. Выводите все эти символы в одной строке без пробелов.
Порядок вывода - в соответствии с номером королевства (от меньшего к большему). Если
ответов несколько - выведите любой. Если не существует способа разделения, выведите "No
solution".
Ввод
Пример 1
8
2 2 4
3 3 5 6
0
2 7 8
0
0
0
0
Пример 2
4
3 2 3 4
0
0
0
Вывод
Пример 1
00011
Пояснение к примеру 1
Территория Берляндии в итоге разделена на 5 частей. Эти части
имеют порядковые номера 3, 5, 6, 7, 8. Королевства 3, 5 и 6
являются 1/6 частью Берляндии, а 7 и 8 - 1/4. Возможное разделение
- части 3, 5 и 6 отдать Винину, а 7 и 8 - Бочарскому. 1/6 + 1/6 +
1/6 = 3/6 = 1/2, 1/4 + 1/4 = 2/4 = 1/2.
Пример 2
No solution
Пояснение к примеру 1
Имеем три части, каждая из которой является 1/3 территории страны.
Разделение Берляндии между Вининым и Бочарским невозможно.
Download