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

advertisement
A. Домашнее чтение
ограничение времени на тест: 0.5 сек.
Школьнику Васе на уроке литературы задали на дом прочесть N страниц учебника. Он
заметил, что за час успевает прочесть K страниц текста. Ваша задача узнать, сколько всего
часов (как полных, так и не полных) школьник будет выполнять домашнее задание по
литературе.
Входные данные
Во входном файле содержатся целые числа N, K (1 <= N,K <= 1000), записанные через
пробел.
Выходные данные
Выведите в выходной файл количество часов, необходимых для выполнения домашнего
задания.
Пример
Ввод
10 3
Вывод
4
B. Числа
ограничение времени на тест: 0.5 сек.
На доске была записана последовательность натуральных чисел A1, A2, ..., AN. Некто
выписал в тетрадь другую последовательность B1 = A1, B2 = A1+A2, ..., BN = A1+A2 + ...
+AN, а затем стер числа A1, A2, ..., AN с доски и записал вместо них числа B1, B2, ..., BN в
произвольном порядке. Ваша задача найти первоначальную последовательность A1, A2, ...,
AN.
Входные данные
В первой строке записано натуральное число N (1 <= N <= 1000). Во второй строке записаны
все члены последовательности B1, B2, ..., BN в произвольном порядке через пробел (1 <= Bi
<= 10^9 для всех 1 <= i <= N).
Выходные данные
Выведите N чисел A1, A2, ..., AN через пробел.
Пример
Ввод
3
3 6 1
Вывод
1 2 3
C. На доске
ограничение времени на тест: 0.5 сек.
На доске записано N чисел A1, A2, :, AN. Далее, пока на доске записано хотя бы одно число,
повторяют следующую последовательность действий:
1) находят такое число B, которое наиболее часто встречается на доске (если таких чисел
несколько, берут наименьшее);
2) выписывают B на листок бумаги;
3) если B = 1, то стирают с доски все числа, равные 1, иначе заменяют все числа В на числа
(B - 1).
В конце концов, на доске не останется ни одного числа, а на листке бумаги окажутся
выписанными одно или несколько чисел. Ваша задача выдать все числа на листке в порядке
их записи.
Входные данные
В первой строке входного файла записано число N (1 <= N <= 3000). Далее, во второй строке
записана последовательность N натуральных чисел A1, A2, ..., AN через пробел (1 <= Ai <=
300, для 1 <= i <= N).
Выходные данные
В первой строке выведите число Q - количество чисел на листе бумаги. Далее, во вторую
строку выведите числа на листе в порядке их записи через пробел.
Пример
Ввод
5
1 2 2 3 3
Вывод
5
2 1 3 2 1
D. Перепись
ограничение времени на тест: 0.5 сек.
Удивительно, но факт! По результатам переписи на улице Вязов живут только семьи
Крюгеров и Томпсонов. Требуется найти наименьшее количество обменов, необходимых
для того, чтобы Крюгеры жили с одного конца улицы, а Томпсоны с другого (не важно, кто с
какого). Выведите также последовательность обменов.
Входные данные
В первой строке содержится натуральное число N (1 <= N <= 1000) - количество домов на
улице Вязов. Во второй строке содержится последовательность латинских букв 'К' и 'T'
длины N. Буква 'K' обозначает семью Крюгеров, 'T' - Томпсонов. Порядок букв в
последовательности совпадает с тем, в каком порядке они живут.
Выходные данные
В первой строке выдайте число Q - наименьшее количество обменов. Далее выведите Q
строк (каждая состоит из двух чисел, разделенных пробелами) - номера домов для данного
обмена.
Пример
Ввод
5
KKTKT
Вывод
1
3 4
E. Мульти-сортировка
ограничение времени на тест: 0.25 сек.
Имеется N-элементный массив целых чисел. Его сортируют по неубыванию, затем
выписывают на доску A1 элемент (из массива этот элемент удаляется, см. пример). Снова
сортируют по неубыванию, выписывают на доску A2 элемент и т.д. N раз (очевидно AN=1).
Ваша задача найти список, выписанный на доске.
Входные данные
В первой строке записано целое число N (1<=N<=15000). Во второй строке записана
последовательность A1, A2, ..., AN. Гарантируется, что данная последовательность
корректна (то есть все операции можно совершить). В третьей строке записан массив данных
чисел. Числа в нем не превосходят 10^7 по абсолютной величине. Числа разделяются
пробелами.
Выходные данные
Выведите все элементы массива в порядке их записи на доску. Числа разделяйте пробелами.
Пример
Ввод
4
1 3 1 1
1 4 5 2
Вывод
1 5 2 4
F. Короткая запись
ограничение времени на тест: 0.5 сек.
Преподаватель Оптимизаторов А.С. не любит длинных чисел чисел. Для этого он
записывает числа в виде суммы нескольких (возможно одного) слагаемых. Каждое
слагаемое имеет вид либо "N", либо "N^2", либо "N^3". Ваша задача найти длину
кратчайшей записи числа M. Так как Оптимизаторов А.С. не любит больших чисел, он
хочет, что бы все N (в слагаемых) были меньше 10.
Входные данные
Во входном файле записано целое число M (1<=M<=15000).
Выходные данные
Выведите длину кратчайшей записи.
Пример
Ввод
Тест 1
10
Вывод
Тест 1
3
Тест 2
1000
Тест 2
13
G. Возвращение
ограничение времени на тест: 0.5 сек.
Культовая рок-группа "ДТП" возвращается с гастролей в столице королевства на свою
историческую родину. В связи с недавно проведенной королем реформой путей сообщения,
из города A существует прямой железнодорожный путь в город B, в том и только том случае
если B южнее и восточнее города A. Администратор группы принял решение о выступлении
"ДТП" с концертной программой во всех проезжих городах (столица и историческая родина
не в счет). Вам предложено найти наибольшее число концертов, которые сможет дать "ДТП"
по дороге домой или указать, что группа вернуться домой не может.
Входные данные
В первой строке записано натуральное число N (2<=N<=1000) - количество городов в
королевстве. Далее в N строках описаны положения всех городов парой координат в
некоторой декартовой системе, которая введена таким образом, что ось абсцисс направлена
с запада на восток, а ординат -- с юга на север. Координаты -- целые числа, по абсолютной
величине не превосходящие 10^9. Числа в строке разделяются пробелами. Столица имеет
номер 1, а историческая родина "ДТП" - номер N.
Выходные данные
Если путь домой существует, то выведите единственное неотрицательное целое число наибольшее число проезжих городов, через которые может проходить путь домой. Выведите
фразу "No way", если "ДТП" вернуться домой не может.
Пример
Ввод
5
0 2
1 2
1 1
2 1
2 0
Вывод
1
H. Футбол
ограничение времени на тест: 0.5 сек.
Совсем скоро пройдет очередной всекоролевский чемпионат по футболу на льду. В
чемпионате примут участие N (1<=N<=150) команд, из различных городов. Каждый матч
будет проходить в городе одной из команд, участвующих во встрече. Всего пройдет M
(1<=M<=22350) встреч, для каждой уже известны участники и город, на стадионе которого
будет проходить встреча. Известно, что никакая пара команд не встретится на одном
стадионе более одного раза. Вам требуется составить расписание встреч, так чтобы турнир
закончился за наименьшее число дней и чтобы:
1) не существовало команды, проводящей более одного матча в один день у себя дома;
2) не существовало команды, проводящей более одного матча в один день в гостях.
Входные данные
В первой строке записаны два натуральных числа N и M. Далее в M строках следуют
описания всех матчей. Каждый матч описывается тройкой натуральных A, B, C (A не равно
B), где A и B - номера встречающихся команд, а C - номер команды-хозяев данной встрече.
Либо A=C, либо B=C. Числа A, B, C - от 1 до N включительно. Все числа в строках
разделяются пробелами.
Выходные данные
В первой строке выведите число Q - наименьшее число дней, за которое можно провести
турнир. Во вторую строку выведите M чисел - номера дней в которые проводятся матчи. Kое число в строке равно порядковому номеру дня, в который надо провести K-ый матч
(порядок матчей определяется входными данными). Все числа во второй строке натуральные, не превосходящие Q.
Пример
Ввод
3 4
1 2 1
2 3 2
3 1 3
3 2 3
Вывод
2
1 2 1 2
Download