2014. Пророчество Ограничения [Время: 1000ms, Память: 128MB, Сложность: 50%] Изучая древние манускрипты была обнаружена удивительная закономерность: если из некоторых текстов извлечь наибольшую общую подпоследовательность символов не меняя их порядок записи, то можно было прочесть зашифрованное послание предков будущим поколениям, в котором нас предупреждают о возможных бедах, великих открытиях и изобретениях. Написать программу, которая для заданных двух строк получит наибольшую (по длине) общую подпоследовательность непробельных символов. Если таких подпоследовательностей несколько, то вывести ту, которая в первой строке первая. Входные данные: Выходные данные: Во входном потоке даны две строки, В выходной поток вывести единственною состоящие из заглавных английских букв и строку символов - наибольшую общую пробелов. Суммарная длина строк не подпоследовательность символов заданных превышает 80 символов. строк. Если такой подпоследовательности не существует, то вывести символ "*" (без кавычек). Пример входного файла (input.txt): Пример выходного файла (output.txt): XCSFOMFXSPXSUSTFSEFXR CAZOMGPWAUATVWER COMPUTER 2014. Распарованные носки Ограничения [Время: 500ms, Память: 8MB, Сложность: 50%] Собираясь в школу всегда возникает вопрос выбора: а что одеть! И если с основной одеждой проблем нет, то с носками возникает временами путаница. Хорошо только тем, у кого только одна пара носков, а если как у Марка - у него несколько типов носков, и все разных цветов и разного пошива. Он знает, что носков каждого типа чётное количество, кроме двух типов, для которых количество носков нечётное (Марк и сам не знает, как так получилось). Помогите ему найти эти два типа. Трудно сказать зачем это Марку надо, но надо... не оставлять же человека в беде? Входные данные: Выходные данные: В первой строке входного файла записано В выходной файл в единственной строке чётное натуральное число n - количество выведите через пробел два числа - типы носков 2 <= n <= 10^6. Во второй строке носков, которые нужно найти. Первое число через пробел записано n натуральных чисел должно быть меньше второго. - тип каждого носка. Тип обозначается натуральным числом, не превышающим 10^9. Пример входного файла (input.txt): Пример выходного файла (output.txt): 6 4 8 4 7 9 9 7 8 2014. Перекати поле Ограничения [Время: 1000ms, Память: 128MB, Сложность: 40%] На шахматной доске стоит кубик, занимая своим основанием в точности одно из полей доски. На его гранях написаны неотрицательные целые числа, не превосходящие 1000. Кубик можно перемещать на смежные поля, перекатывая его через соответствующее ребро в основании. При движении кубика вычисляется сумма чисел на гранях, попавших в его основание. Вам необходимо написать программу поиска такого пути движения кубика между двумя заданными полями доски, при котором вычисленная сумма будет минимальной. Числа на гранях, стоящие в основании кубика в начальной и конечной его позициях, также входят в сумму. Входные данные: Выходные данные: Во входном потоке через пробел записаны Выведите в выходной поток минимально координаты начального и конечного полей и возможную сумму. 6 чисел, написанных в начальной позиции на передней, задней, верхней, правой, нижней и левой гранях кубика соответственно. Координаты полей указываются в стандартной шахматной нотации (см. рис). Начальное и конечное поле различны. Пример входного файла (input.txt): Пример выходного файла (output.txt): a1 b2 1 1 1 1 1 1 3 2014. Взвешивания Ограничения [Время: 1000ms, Память: 128MB, Сложность: 30%] Знаменитый химик Д. И. Менделеев, будучи директором Главной палаты мер и весов, интересовался задачей составления набора гирь, чтобы с их помощью можно было взвесить любой груз. Выяснилось, что если при взвешивании груза класть гири и на левую и на правую чашки весов, то самым удобным является набор гирь в троичной системе. Для взвешиваний используют чашечные весы и большой набор гирь 1, 3, 9, 27, 81 грамм и т.д. (для любого k ≥ 0 есть только одна гиря весом 3^k грамм). На одну из чашек весов положили груз весом N грамм. Какие гири нужно положить на левую и правую чашки, чтобы их уравновесить? Входные данные: Выходные данные: Первая строка входного потока содержит В выходной поток вывести в первой строке символ 'L' или 'R', обозначающий массы гирь, установленные на левой чаше соответственно левую или правую весов весов, перечисляя их через пробел в порядке чашку, на которой лежит груз и через пробел не убывания, а во второй строке - массы целое число N - масса груза в граммах (1 ≤ N гирек на правой чаше весов, в том же ≤ 10^9). формате. Пример входного файла (input.txt): Пример выходного файла (output.txt): L 5 1 3 9 2014. Возрастающая подпоследовательность Ограничения [Время: 1000ms, Память: 128MB, Сложность: 30%] Числовая последовательность задана рекуррентной формулой: a[i+1] = (k*a[i]+b) mod m Найдите её наибольшую возрастающую подпоследовательность. Входные данные: Выходные данные: Программа получает на вход пять целых Требуется вывести наибольшую чисел: длину последовательности n (1 ≤ n ≤ возрастающую подпоследовательность 10^5), начальный элемент данной последовательности, разделяя числа последовательности a[1], параметры k, b, m пробелами. Если таких последовательностей для вычисления последующих членов несколько, необходимо вывести последовательности (1 ≤ m ≤ 10^4, 0 ≤ k < m, наименьшую в лексикографическом 0 ≤ b < m, 0 ≤ a1 < m). порядке. Пример входного файла (input.txt): Пример выходного файла (output.txt): 10 5 100 23 105 5 33 68 103 2014. Найти число Ограничения [Время: 1000ms, Память: 128MB, Сложность: 20%] Даны положительные целые числа B и N. Нужно найти такое целое число A, что A^N есть наиболее близкое число к B. Заметим, что A^N может быть меньше, равно или больше B. Входные данные: Выходные данные: Во входном потоке содержатся два целых В выходной поток вывести одно целое числа B и N (1 ≤ B ≤ 1000000; 1 ≤ N ≤ 9). число. Пример входного файла (input.txt): Пример выходного файла (output.txt): 4 3 1 2014. Защита от учителя Ограничения [Время: 1000ms, Память: 128MB, Сложность: 20%] Как известно, ученик - существо ленивое! Самостоятельно делать домашнее задание - это же такой титанический труд, что ни в сказка сказать, ни пером описать... так вот, как ни крути, а домашнее задание делать таки надо! А лень... - А ведь не перевелись же еще на Руси умельцы, которые и домашнее задание успевают делать, и поиграть! Вот если бы у них взять, все и списать!? Сказано, сделано! Но как-то уж паливно открытым текстом отправлять призыв "Дай списать"... чего гляди учителя просекут и... высекут! Значит надо зашифровать сообщение, подумал ученик и чтобы неверные его не прочитали придумал алгоритм шифрования: в своем сообщении он стал заменять каждую букву на другую, взятую последовательно из заранее подготовленной строки (перестановочный код). Чтобы не заниматься кодированием и декодированием самому (ведь лень же, помните!?) надо написать программу, которая по заданному шифру и перестановочному коду восстановит исходный текст сообщения. Входные данные: Выходные данные: В первой строке входного потока записано В выходной поток вывести одну строку, в закодированное сообщение (не более 255 которой содержится расшифрованное символов). Вторая строка состоит из 26 сообщение. латинских букв верхнего регистра, представляющих собой код для соответствующего символа алфавита: первый символ дает код для буквы A, второй для буквы B и так далее. Используются только буквы верхнего регистра. В закодированном сообщении могут появиться пробелы, которые должны быть сохранены в выходной строке. Пример входного файла (input.txt): Пример выходного файла (output.txt): ZFG DXSDFL HOLSRAYMQBJTNGKUFCIZEVXPWD DAY SPISAT 2014. Треугольник Ограничения [Время: 1000ms, Память: 128MB, Сложность: 10%] Вычислите, в какой координатной четверти расположен треугольник, образованный прямой, заданной уравнением y=ax+b, и осями координат. Входные данные: Выходные данные: Во входном потоке даны два вещественных В выходной поток вывести единственное числа, записанные через пробел - целое число - номер четверти. Если коэфициенты уравнения прямой a, b треугольник по указанным коэфициентам не (уравнение прямой вида y = ax + b) возможно построить, то вывести 0. Пример входного файла (input.txt): Пример выходного файла (output.txt): 2 4 2 2014. Пассажиры Ограничения [Время: 1000ms, Память: 128MB, Сложность: 10%] На олимпиаду приехало N человек. Для их перевозки выделили автобусы двух видов: вместимостью K и M пассажиров (не считая водителя). К гостинице автобусы подаются строго в определенном порядке: сначала автобус вместимостью K человек, потом - M человек, после этого опять - K человек, потом M человек и так далее. В автобусе можно перевозить не более максимально допустимого количества пассажиров. Определить, сколько необходимо автобусов для перевозки всех участников олимпиады. Входные данные: Выходные данные: Во входном потоке в первой строке записано В выходной поток вывести единственное через пробел три натуральных числа N, K и целое число. M. Значения всех чисел не превосходят 1000. Пример входного файла (input.txt): Пример выходного файла (output.txt): 20 3 4 6 2014. Защита от сбоев Ограничения [Время: 1000ms, Память: 128MB, Сложность: 10%] Витя - очень любит что-нибудь придумывать. Однажды он придумал сделать для мамы робота, который будет кормить рыбок в аквариуме. Рыбки - существа нежные, кормить их надо строго по заданной программе, поэтому Витя особое внимание хочет уделить надежности робота. Витя учел, что роботу придется открывать аквариум, следовательно, есть опасность попадания воды на микросхемы. Но хитрый Витя придумал сложную систему защиты от сбоев, основанную на контроле четности двоичного представления выполняющихся команд робота. Причем для команд разных видов Витя решил использовать разный принцип контроля четности - для одних команд будет работать система контроля четности, а для других - система контроля нечетности. Витя знает, что битовая последовательность имеет нечетный бит четности, если число 1 нечетное. И наоборот, последовательность имеет четный бит четности, если число 1 четное. Считается, что число нуль будет четным числом, поэтому последовательность без 1 имеет четный бит четности. Витя даже хочет подсказать Вам, что количество нулей не влияет на бит четности последовательности. Входные данные: Выходные данные: Во входном потоке содержится В выходной единственная строка. Эта строка содержит соответствующую от 1 до 31 бит, а заканчивается буквой 'e или битов, которая поток вывести последовательность заканчивается битом Пример входного файла (input.txt): четности: четным, если строка заканчивалась символом 'e', нечетным, если строка заканчивалась символом 'o'. Пример выходного файла (output.txt): 101e 1010 'o'.