Uploaded by Настя Судовчихина

Билеты по ОАиП

advertisement
Билет №1
Вася не любит английский язык, но каждый раз старается получить хотя бы четверку за
четверть, чтобы оставаться ударником. В текущей четверти Вася заметил следующую
закономерность: по нечетным дням месяца он получал тройки, а по четным – четверки. Так же
он помнит, в какие дни он получал эти оценки. Поэтому он выписал на бумажке все эти дни
для того, чтобы оценить, сколько у него троек и сколько четверок. Помогите Васе это сделать,
расположив четные и нечетные числа в разных строчках. Вася может рассчитывать на оценку
4, если четверок не меньше, чем троек.
Входные данные
В первой строке входного файла INPUT.TXT записано единственное число N – количество
элементов целочисленного массива (1 ≤ N ≤ 100). Вторая строка содержит N чисел,
представляющих заданный массив. Каждый элемент массива – натуральное число от 1 до 31.
Все элементы массива разделены пробелом.
Выходные данные
В первую строку выходного файла OUTPUT.TXT нужно вывести числа, которые
соответствуют дням месяцев, в которые Вася получил тройки, а во второй строке
соответственно расположить числа месяца, в которые Вася получил четверки. В третьей строке
нужно вывести «YES», если Вася может рассчитывать на четверку и «NO» в противном случае.
В каждой строчке числа следует выводить в том же порядке, в котором они идут во входных
данных. При выводе, числа отделяются пробелом.
Примеры
№ Input
1 5
4 16 19 31 2
2
8
29 4 7 12 15 17 24 1
Преподаватель
Output
19 31
4 16 2
YES
29 7 15 17 1
4 12 24
NO
А.В.Судовчихина
Билет №2
Простым числом называется натуральное число (большее 1), которое делится нацело только
на 1 и на само себя. Например, числа 2, 3, 5, 7, 11 и 23 - простые . Назовем простым рядом
последовательность цифр, полученную следующим образом: подряд идущие по возрастанию
простые числа (начиная с 2) записываются друг за другом. Начало данного ряда выглядит так:
23571113171923… Необходимо найти цифру, стоящую в простом ряду на указанном месте.
Нумерация позиций начинается с единицы.
Входные данные
В первой строке входного файла INPUT.TXT записано натуральное число M – количество
тестов. Во второй строке записано M чисел через пробел, каждое число – номер позиции в
простом ряду (1 ≤ M ≤ 1000, 1 ≤ номер позиции ≤ 10000).
Выходные данные
В выходной файл OUTPUT.TXT для каждой позиции выведите цифру из простого ряда,
стоящую на этой позиции. Вывести следует M цифр в одной строке, не разделяя цифры
пробелами.
Примеры
№ Input
1 3
1 4 11
2 5
2 5 6 8 12
Преподаватель
Output
271
31139
А.В.Судовчихина
Билет №3
Игра в числа ведётся на одномерном массиве целых положительных чисел. Перед началом,
жеребьёвкой определяется, кто будет ходить первым (первый игрок), а кто – вторым (второй
игрок). Процесс игры состоит в том, что игроки по очереди (сначала первый игрок, затем
второй, следом опять первый и так далее) вычёркивают числа из массива. Вычеркнуть можно
только число, находящееся в конце или начале оставшегося массива. При этом всегда
вычёркивается максимальное число из этих двух. Если первое и последнее числа массива
равны, то вычёркивается первое. Игра продолжается до того момента, пока не будут
вычеркнуты все числа. Каждое вычеркнутое число идёт в актив тому игроку, который его
вычеркнул. После окончания игры каждый игрок суммирует вычеркнутые им числа.
Победителем объявляется тот, кто наберет больше очков.
Некоторые игроки поняли, что результат не зависит от стратегии игры, и решили попросить
Вас написать программу для получения результата.
Входные данные
В первой строке входного файла INPUT.TXT находится одно целое число N – количество
чисел в массиве (1 ≤ N ≤ 104). Во второй строке находятся N целых положительных чисел из
диапазона [1, 32000], разделённых пробелом.
Выходные данные
В выходной файл OUTPUT.TXT выведите два числа, разделенные двоеточием. Первое число
– количество очков, набираемых первым игроком при игре на этом массиве, второе число –
для второго.
Примеры
№ Input
1 5
44154
2 1
1234
Преподаватель
Output
9:9
1234:0
А.В.Судовчихина
Билет №4
Заданы натуральные числа A, B, C. Требуется написать программу, которая найдет общие
цифры в этих числах.
Входные данные
Входной файл INPUT.TXT содержит три натуральных числа A, B, C (1 ≤ A, B, C ≤ 1080). Числа
разделены одним пробелом.
Выходные данные
Выходной файл OUTPUT.TXT должен содержать в первой строке количество общих цифр, а
во второй строке в порядке возрастания через один пробел общие цифры.
Примеры
№ Input
1 123
2 12 13 14
3
1234 2345 3456
Преподаватель
Output
0
1
1
2
34
А.В.Судовчихина
Билет №5
Простые числа
Необходимо вывести все простые числа от M до N включительно.
Входные данные
Входной файл INPUT.TXT содержит два натуральных числа M и N, разделенных пробелом (2
≤ M ≤ N ≤ 106)
Выходные данные
В выходной файл OUTPUT.TXT выведите все простые числа от M до N в порядке возрастания,
по одному в строке. Если таковых чисел нет, то следует вывести «Absent».
Примеры
№ Input
1 25
2
Output
2
3
5
Absent
44
Преподаватель
А.В.Судовчихина
Билет №6
Для делимости числа на 11 необходимо, чтобы разность между суммой цифр, стоящих на
четных местах, и суммой цифр, стоящих на нечетных местах, делилась на 11.
Требуется написать программу, которая проверит делимость заданного числа на 11.
Входные данные
Входной файл INPUT.TXT содержит одно натуральное число N, делимость которого надо
проверить (1 ≤ N ≤ 1010000).
Выходные данные
В выходной файл OUTPUT.TXT выведите “YES”, если число делится на 11, или “NO” иначе.
Примеры
№ Input
1 121
2 1211
Output
YES
NO
Преподаватель
А.В.Судовчихина
Билет №7
Играют двое. Задаётся какая-то дата 2008 года. Каждый игрок на своём ходе называет более
позднюю дату, увеличивая на 1 или 2 либо день в месяце, либо месяц, но не то и другое сразу.
При этом сочетание дня и месяца должно оставаться датой. Игрок, назвавший 31 декабря,
проигрывает. Оба играют наилучшим образом. Исходя из заданной даты вывести, кто
выиграет.
Входные данные
В первой строке входного файла INPUT.TXT находятся числа, обозначающие день и месяц.
Месяц указывается от 1 до 12, день от 1 до числа дней в месяце, дата «31 декабря» отсутствует
во входных данных.
Выходные данные
В выходной файл OUTPUT.TXT выведите 1, если выигрывает первый (начинающий) игрок,
или 2 – в противном случае.
Примеры
№
1
2
3
Input
30 12
29 12
29 11
Output
2
1
2
Преподаватель
А.В.Судовчихина
Билет №8
Катя решила пригласить к себе в гости n друзей. Так как ее друзья очень любят фрукты, то в
качестве угощения для них она купила m одинаковых апельсинов.
Она хочет разрезать каждый апельсин на одинаковое число равных долек так, чтобы их можно
было распределить между гостями (сама Катя апельсины есть не будет), и всем гостям
досталось поровну долек.
Напишите программу, которая вычисляет минимальное количество долек, на которое
необходимо разрезать каждый апельсин, чтобы были выполнены указанные выше условия.
Входные данные
Входной файл INPUT.TXT содержит два положительных целых числа n и m (1 ≤ n, m ≤ 109).
Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.
Примеры
№ Input
1 25
2 24
Output
2
1
Преподаватель
А.В.Судовчихина
Билет №9
В наше время создатели офисных приложений стараются сделать все для удобства
пользователя. Поэтому даже такая мелочь, как представление на экране списков чисел например, для вывода номеров страниц, - должна быть тщательно проработана.
Вы должны реализовать функцию, которая по заданному набору целых чисел будет
формировать строку, являющуюся его самым коротким текстовым представлением. Текстовое
представление - строка, состоящая из разделенных запятыми чисел и диапазонов чисел вида <
a, ..., b >, которые используются для записи набора всех чисел от a до b. При этом все числа,
входящие в строку, должны быть упорядочены по возрастанию в том порядке, в котором они
встречаются в строке.
Входные данные
Входной файл INPUT.TXT содержит целое число N (1 ≤ N ≤ 1000) - размер набора. Вторая
строка содержит N задающих набор целых чисел, по абсолютной величине не превосходящих
10000, разделенные пробелами. Одно число может встречаться в этом описании несколько раз.
Выходные данные
В выходной файл OUTPUT.TXT выведите одно из кратчайших текстовых представлений
заданного набора чисел. Следите за правильной расстановкой пробелов. Выходной файл в
примере содержит ровно четыре пробела.
Пример
№ Input
1 7
1 3 5 -1 1 4 6
Преподаватель
Output
-1, 1, 3, ..., 6
А.В.Судовчихина
Билет №10
На плоскости задана система концентрических окружностей, центры которых находятся в
начале координат, а радиусы равны 1, 2, 3, . . . . Также на плоскости задан отрезок, концы
которого находятся в точках (x1, y1) и (x2, y2).
Необходимо найти число общих точек этого отрезка и указанной системы окружностей.
Входные данные
Входной файл INPUT.TXT содержит четыре целых числа: x1, y1, x2 и y2. Эти числа не
превосходят 103 по абсолютной величине. Заданный отрезок имеет ненулевую длину.
Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – количество общих точек.
Примеры
№ Input
1 1121
2 1221
Output
1
0
Преподаватель
А.В.Судовчихина
Билет №11
Палиндромом называют строку, читающуюся одинаково с обеих сторон. Задана строка s.
Найдите ее наибольшую по длине подстроку, не являющуюся палиндромом.
Входные данные
Входной файл INPUT.TXT содержит строку s. Она состоит только из строчных букв
английского алфавита, не пуста, а ее длина не превышает 100 000 символов.
Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу. Если все подстроки s являются
палиндромами, выведите в выходной файл NO SOLUTION.
Примеры
№
1
2
3
Input
abba
abc
aaaaa
Output
abb
abc
NO SOLUTION
Преподаватель
А.В.Судовчихина
Билет №12
Гена собирается на туристический слет учеников своей школы. В своем классе он был
назначен ответственным за палатки. У себя дома он нашел 3 палатки: первая из них весит a1
килограмм и вмещает b1 человек, вторая весит a2 килограмм и вмещает b2 человек, третья весит
a3 килограмм и вмещает b3 человек.
В классе Гены K человек. Выясните, может ли он выбрать палатки так, чтобы в них все могли
поместиться. При этом учитывайте, что выбранные палатки должны суммарно весить не более
W килограмм.
Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа: K и W (1 ≤ K ≤ 15, 1 ≤
W ≤ 30). Вторая строка содержит шесть целых чисел: a1, b1, a2, b2, a3, b3 (1 ≤ a1, a2, a3 ≤ 10, 1 ≤
b1, b2, b3 ≤ 15).
Выходные данные
В выходной файл OUTPUT.TXT выведите YES, если палатки указанным образом выбрать
можно, и NO в противном случае.
Примеры
№ Input
1 10 10
556645
2 10 10
556677
Преподаватель
Output
YES
NO
А.В.Судовчихина
Билет №13
Али-Баба стоял у входа в пещеру. «Сим-Сим, открой дверь!» – сказал он. И дверь
распахнулась. Али-Баба зашел внутрь и обомлел – пещера была усыпана сокровищами.
Золото, драгоценности, дорогое оружие и посуда, пещера буквально сверкала!
Но Али-Баба радовался недолго. Поразмыслив, он понял, что может унести с собой не более
M предметов, в то время как в пещере находится целых N предметов. Али-Баба внимательно
рассмотрел каждый предмет и оценил его стоимость. К своему удивлению Али-Баба
обнаружил в пещере также бесполезные, и даже вредные вещи, ценность которых
сомнительна. Естественно, что Али-Баба хочет взять с собой такие предметы, чтобы их
суммарная ценность была максимальна. Помогите ему найти эту сумму.
Входные данные
В первой строке входного файла INPUT.TXT находятся два числа, разделенные пробелом: N
– количество предметов в пещере (1 ≤ N ≤ 1000), M – максимальное количество предметов,
которые Али-Баба может унести с собой (0 ≤ M ≤ N). Во второй строке располагаются N целых
чисел, разделенных пробелами. Каждое такое число Ci означает стоимость i-го сокровища (1 ≤
i ≤ N, -1000 ≤ Ci ≤ 1000).
Выходные данные
В выходной файл OUTPUT.TXT выведите единственное целое число – максимальную
суммарную стоимость сокровищ, которые Али-Баба может унести из пещеры.
Примеры
№ Input
1 42
2314
2 42
0 3 -1 -2
Преподаватель
Output
7
3
А.В.Судовчихина
Билет №14
Белочка собрала в лесу N шишек c орешками. Белочка очень привередливо выбирала шишки,
и брала только те, в которых ровно M орешков. Также известно, что для пропитания зимой ей
необходимо не менее K орешков. Определите, хватит ли на зиму орешков белочке.
Входные данные
Входной файл INPUT.TXT содержит три натуральных числа: N, M и K (N, M ≤ 100, K ≤ 10
000).
Выходные данные
В выходной файл OUTPUT.TXT выведите «YES» если белочке хватит орешков и «NO» в
противном случае.
Примеры
№
1
2
3
Input
4 5 20
4 5 21
321
Output
YES
NO
YES
Преподаватель
А.В.Судовчихина
Билет №15
По заданным натуральным числам A и B найти K-ю цифру после запятой в дроби A/B в
десятичной системе счисления.
Входные данные
В единственной строке входного файла INPUT.TXT записано три натуральных числа A, B и K
через пробел. А и B – цифры (числа от 1 до 9), число K не превышает 106.
Выходные данные
В выходной файл OUTPUT.TXT нужно вывести ответ на задачу.
Примеры
№ Input
1 742
2 1 6 13
Output
5
6
Преподаватель
А.В.Судовчихина
Билет №16
Цепочкой слов длины n назовем последовательность слов w1, w2, ..., wn такую, что для 1 ≤ i <
n слово wi является собственным префиксом слова wi+1.
Напомним, что слово u длины k называется собственным префиксом слова v длины l, если k <
l и первые k букв слова v совпадают со словом u.
Задан набор слов S = {s1, s2, ..., sm}. Найдите максимальную длину цепочки слов, которую
можно построить, используя (возможно, не все) слова этого набора.
Входные данные
Входной файл INPUT.TXT содержит целое число m (1 ≤ m ≤ 255). Каждая из последующих m
строк содержит по одному слову из набора S. Все слова не пусты, имеют длину, не
превосходящую 255 символов, и состоят только из строчных букв английского алфавита.
Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.
Примеры
№ Input
1 3
a
ab
abc
2 5
a
ab
bc
bcd
add
Output
3
2
Преподаватель
А.В.Судовчихина
Билет №17
Представь, что ты - капитан команды, которая только что выиграла мировой финал ACM ICPC,
и теперь тебе предстоит отпраздновать свою победу со своими друзьями, которых у тебя ровно
K-1. Для этого необходимо закупить N бутылок любимого напитка (остается только
догадываться какого) в ближайшем магазине. Стоимость i-й бутылки составляет Ci рублей. К
сожалению, продавец не любит, когда его клиенты покупают слишком много бутылок,
поэтому он продаёт только по одной бутылке за раз, а также изменяет цену бутылки для
клиента, который ранее у него уже делал покупки. Точнее, если клиент уже купил X бутылок,
то он должен заплатить (X+1)*Ci рублей, чтобы купить бутылку номер i.
Необходимо определить минимально возможную стоимость приобретения N бутылок с
учетом того, что в процессе покупки могут участвовать не более K человек (только ты и твои
друзья).
Входные данные
Первая строка входного файла INPUT.TXT содержит два числа N и K (N, K ≤ 100),
соответственно во второй строке определены значения C1, C2, ..., CN ( Ci ≤ 106). Все числа во
входных данных натуральные.
Выходные данные
В выходной файл OUTPUT.TXT выведите оптимальную стоимость покупки.
Пример
№ Input
1 3
256
Output
3 13
Преподаватель
А.В.Судовчихина
Билет №18
Незнайка и его друзья собрались в космическое путешествие. Они уже и новый звездолет
построили. Хоть он и построен был с учетом новых технологий, был у него один большой
недостаток. После T1 часов полета, аккумуляторы требовали обязательной подзарядки от
солнечной батареи в течении T2 часов, а конструкция звездолета такова, что его двигатель на
время подзарядки останавливается и звездолет начинает двигаться в обратную сторону.
Известно, что за T1 часов полета звездолет улетает на S1 км, а за T2 часов разрядки
возвращается на S2 км.
Требуется определить: сколько потребуется времени для полета Незнайки и его друзей на
различные планеты, если известно расстояние S до планет.
Входные данные
Входной файл INPUT.TXT содержит пять натуральных чисел, разделенных пробелами: T1, T2,
S1, S2, S. Все числа не превышают 107.
Выходные данные
В выходной файл OUTPUT.TXT выведите время в часах (с точностью до двух знаков после
запятой), за которое звездолет долетит до планеты. Если добраться до планеты не получится,
то следует вывести «NO».
Примеры
№
1
2
3
4
Input
53534
53536
51336
10 1 100 20 500
Преподаватель
Output
4.00
12.00
NO
65.00
А.В.Судовчихина
Билет №19
Напишите программу, которая выводит элемент из строки Y и столбца X матрицы размера
N×M, которая заполнена следующим образом:
0
1
2
3
7
6
5
4
8
9
10
11
Входные данные
Входной файл INPUT.TXT содержит натуральные числа N, M, Y, X (Y ≤ N ≤ 50; X ≤ M ≤ 50).
N - количество строк матрицы, M - количество столбцов матрицы, Y и X - номера строки и
столбца искомого элемента.
Выходные данные
В выходной файл OUTPUT.TXT выведите искомый элемент.
Примеры
№ Input
1 3423
2 5231
Output
5
4
Преподаватель
А.В.Судовчихина
Билет №20
Будем говорить, что число a лучше числа b, если сумма цифр a больше суммы цифр числа
b, а в случае равенства сумм их цифр, если число a меньше числа b. Например, число 124 лучше
числа 123, так как у первого из них сумма цифр равна семи, а у второго – шести. Также, число
3 лучше числа 111, так как у них равны суммы цифр, но первое из них меньше.
Дано число n. Найдите такой его делитель (само число n и единица считаются делителями
числа n), который лучше любого другого делителя числа n.
Входные данные
Первая строка входного файла содержит целое число n (1 ≤ n ≤ 105).
Выходные данные
В выходной файл выведите ответ на задачу.
Пример
№ Input
1 10
2 239
Output
5
239
Преподаватель
А.В.Судовчихина
Билет №21
Найдите максимальное значение функции f(x, y) = Ax + By при условии, что x 2 + y2 = R2,
и аргументы, при котором оно достигается.
Входные данные
Входной файл INPUT.TXT содержит три вещественных числа: A, B, R (1 ≤ A, B, R ≤ 10),
заданные не более чем с тремя знаками после десятичной точки.
Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите максимальное значение,
которое достигает функция. Во второй строке выведите значения аргументов x 0,y0, при
которых это значение достигается. Все числа должны быть выведены с точностью не хуже
10−5.
Примеры
№ Input
1 111
2
2.0 1.0 1.0
Преподаватель
Output
1.414213562373
0.707106781187
2.236067977500
0.894427191000
0.707106781187
0.447213595500
А.В.Судовчихина
Билет №22
Карусель – одна из популярных форм проведения командных соревнований по решению
задач. Наибольшую известность в использовании данной модели в России получил ресурс
«Интернет-карусели», расположенный в сети Интернет по адресу http://karusel.desc.ru.
Всем командам, участвующим в карусели, предлагаются в строгом порядке одни и те же
задачи, которые необходимо решить в установленное время. Система подсчета баллов такова,
что доминирующим фактором является не количество решенных задач, а длины
последовательностей правильных решений.
Начисление баллов происходит согласно следующей схеме:



первая задача стоит 3 балла;
если к задаче дан верный ответ, то команда получает ее стоимость, а следующая задача
будет стоить на 1 балл больше;
если на задачу дан неверный ответ, то команда получает за решение 0 баллов, а
следующая задача будет стоить на 3 балла меньше, но не менее 3 баллов.
Вам требуется написать программу, которая по результатам ответов команды определит
итоговый балл.
Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число N – количество
задач в карусели (N ≤ 105). Во второй строке расположены N цифр 0 или 1, разделенные
пробелом; i-я цифра соответствует корректности ответа команды на i-ю задачу (0 – неверный
ответ, 1 – верный ответ).
Выходные данные
В выходной файл OUTPUT.TXT выведите целое число – количество набранных баллов.
Примеры
№ Input
1 3
111
2 9
101111011
Преподаватель
Output
12
30
А.В.Судовчихина
Билет №23
По заданному номеру месяца в году требуется определить время года.
Входные данные
Входной файл INPUT.TXT содержит натуральное число N (N≤100) – номер месяца.
Выходные данные
В выходной файл OUTPUT.TXT выведите для летних месяцев значение «Summer», для
зимних – «Winter», для весенних – «Spring», для осенних – «Autumn». Если число не
соответствует возможному значению месяца, то в этом случае следует вывести «Error».
Примеры
№ Input
1 3
2 15
Output
Spring
Error
Преподаватель
А.В.Судовчихина
Download