Олимпиада по информатике среди школьников «Ищем Ломоносовых» 2015 год (11 класс)

advertisement
Олимпиада по информатике среди школьников
«Ищем Ломоносовых»
2015 год (11 класс)
Предоставить текст программы на одном из алгоритмических
языков (Pascal, Basic, С, С++) или алгоритм в виде блок-схемы, если не
указано другое задание.
Если написана программа, то предоставить исходные данные и
результат.
Обязательно указывать номер решаемой задачи и название.
1. Кодирование информации. Системы счисления (10 баллов)
Вася не любил много писать и решил при записи больших чисел
сокращать написание повторяющихся цифр. Он завел правило: если при
записи числа слева направо встречаются две идущие подряд одинаковые
цифры, то он пишет только одну такую цифру и ставит над ней точку. Вася
записал пять примеров и точно помнит, что только в одном из них и только
один раз встречались идущие подряд две одинаковых цифры, но при записи
этого примера он поторопился и не поставил в примере точку. Помогите Васе
определить нужный пример и расшифровать число, записанное в
сокращенной форме. В ответе через запятую дайте, сначала номер примера,
затем полную запись того числа, в котором Вася сократил запись без
указания основания системы счисления.
1. 12031045 + 1012015 = 13043105
2. 12023 + 1013 = 20103
3. 4124536278 + 12315168 = 4247053458
4. 4724729 + 8752109 = 14576829
5. 12А2367911 + 9452А411 = 1386897211
2. Система счисления с основанием 6 (5 баллов)
Найдите натуральное число такое, что его запись в шестеричной системе
счисления имеет ровно четыре значащих разряда и при этом выполняются
следующие условия:
1. Две первые цифры его записи являются одинаковыми между собой, и
две последние цифры также одинаковы между собой.
2. Две первые цифры отличны от последних двух цифр.
3. Число является полным квадратом, то есть оно является квадратом
некоторого целого числа.
В ответе укажите четырехзначное число в шестеричной системе
счисления.
3.Письма (10 баллов)
1. Коля и Оля решили писать друг другу письма. Для того чтобы
никто кроме них не смог понять их содержание, они договорились письма
шифровать. Алгоритм придумали такой:
1. Каждую гласную букву исходного сообщения заменять на
ближайшую гласную букву, предшествующую заменяемой в алфавите.
2. Каждую не гласную букву исходного сообщения заменять на
ближайшую не гласную букву, идущую следом за заменяемой в
алфавите.
3. Алфавит считать замкнутым в кольцо, то есть после буквы «Я» идет
буква «А», а перед буквой «А» идет буква «Я».
4. Пробелы и знаки препинания оставлять без изменений.
Первой написала письмо Оля. Помогите Коле расшифровать послание,
если в письме была следующая последовательность. ЛИМЮ, РСЁЦИЖЁ
ЙЯГФСЯ ЛИ НПА. В ответе укажите расшифрованное послание полностью с
знаками препинания.
Примечание:
Алфавит:А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ы,Ь,
Э,Ю,Я. Где гласные буквы: А, Е, Ё, И, О, У, Ы, Э, Ю, Я. Остальные буквы
являются НЕ гласными. Е и Ё являются различными буквами.
4. Четыре друга (10 баллов)
Николай, Борис, Дмитрий и Максим живут в одном дворе. Одному из
них 12 лет, другому 14, третьему 16, самому старшему 19. Они все
увлекаются программированием, но каждый из них специализируется только
на каком-то одном из языков программирования: Бейсик, Паскаль, Си,
Хаскел. Определите возраст и любимый язык программирования Максима,
если известно, что:
1. Специалист по Хаскелу старше любителя Си.
2. Знаток Паскаля младше специалиста по Си.
3. Максим старше программиста на Паскале.
4. Любитель Бейсика родился с разницей всего в 2 года от рождения
специалиста по Паскалю.
5. Юноша, пишущий на Бейсике либо самый старший из друзей, либо
самый младший.
6. Дима не пишет на Бейсике и его возраст более чем на пару лет
отличается от возраста любителя Бейсика.
7. Не менее чем один из приятелей родился между годом рождения
Максима и годом рождения Бориса.
8. Возраст Бориса отличается на 2 года от возраста любителя Си.
В ответе сначала цифрами запишите возраст Максима, затем через
пробел первую букву его любимого языка программирования.
5. Столица (15 баллов)
В некотором царстве, в некотором государстве было N городов, и все
они, судя по главной карте императора, имели целые координаты. В те годы
леса были дремучие, дороги же строить умели только параллельно осям
координат, так что расстояние между двумя городами определялось как
x1  x2  y1  y2 .
Император решил построить N  1 –ый город и сделать его столицей
своего государства, при этом координаты столицы также должны быть
целыми. Место для столицы следует выбрать так, чтобы среднее
арифметическое расстояний между столицей и остальными городами было
как можно меньше. Однако, разумеется, столицу нельзя строить на месте
существующего города.
Формат входных данных
Первая строка входного файла содержит число N – количество городов
(1 ≤ N ≤ 100). Следующие N строк содержат координаты городов – пары
целых чисел, не превышающих 1000 по абсолютной величине.
Формат выходных данных
Выведите в выходной файл два целых числа – координаты точки, где
следует построить столицу. Если решений несколько, выведите любое.
6. Подстрока (5 баллов)
В данной строке, состоящей из цифр от 0 до 9 найти подстроку,
представляющую запись числа, неравного нулю и кратного семи.
Например, в строке 560005672 есть подходящие подстроки — 7, 56, 560,
672 и т.д.
Формат входного и выходного файлов
Во входном файле содержится строка длиной от 1 до 1000. Выходной
файл должен содержать число 1, если хотя бы одна такая подстрока найдена,
и найденные числа, или число 0 в противном случае.
7.
Простая игра (15 баллов)
Ученики любят играть в очень простую игру. Играют два человека.
Перед ними – огромная куча из N волшебных палочек. Каждый из игроков
во время своего хода может взять из этой кучи любое количество палочек,
равное неотрицательной степени числа 2, т.е. 1, 2, 4, 8,… . Игроки ходят по
очереди. Тот, кому достанется последняя палочка, тот и выигрывает.
Требуется написать программу, которая при заданных исходных
данных определяет победителя в этой игре. При этом следует учитывать, что
игроки играют оптимально.
Ответ должен содержать в первой строке цифру ‘1’, если выиграет тот,
кто ходит первым, или цифру ‘2’ – в противном случае. Если игру выиграл
тот, кто ходил первым, то во второй строке этого файла должно содержаться
минимальное число палочек, которое должен взять игрок, выполнявший ход
первым, чтобы гарантировать свою победу.
8. Симметрия (10 баллов)
Симметричным трехзначным числом будем считать число, запись
которого имеет ровно три значащих цифры, и первая цифра совпадает с
последней. Определите минимальное основание системы счисления, в
которой можно записать не менее 100 симметричных трехзначных чисел.
9. Римские цифры (15 баллов)
В числе, записанном в римской системе счисления, поменяли местами
вторую и третью от начала цифры, а затем перевели результат в десятичную
систему счисления. Получилось число 193. Определите исходное число,
переведите его в десятичную систему счисления и запишите результат.
Примечание. В римской системе счисления некоторые базовые числа
обозначаются заглавными латинскими буквами: 1 - I, 5 - V, 10 - X, 50 - L, 100
- C, 500 - D, 1000 - M. Все другие числа строятся из комбинаций базовых в
соответствии со следующими правилами:
 если цифра меньшего значения стоит справа от большей цифры, то их
значения суммируются;
 если слева - то меньшее значение вычитается из большего (причем
возможны только следующие сочетания: IV, IX, XL, XC, CD, CM);
 цифры I, X, C и M могут следовать подряд не более трех раз каждая;
 цифры V, L и D могут использоваться в записи числа не более одного
раза.
10.Сломанный конвейер (5 баллов).
На кондитерской фабрике имеется N конвейеров для выпуска шоколада
весом 100 грамм. Один конвейер сломался и стал выпускать шоколад весом
90 грамм. Определите за минимальное количество взвешиваний номер
сломанного конвейера.
Download