Школьный этап ВсОШ по Информатике “Сириус” 1 группа 9-11 класс 2023-2024 (Задания и Ответы)

Официальные задания и ответы школьного этапа 2023-2024 всероссийской олимпиады школьников Сириус по Информатике 9-11 класс 24.10.2023

Задания и ответы ВсОШ Сириус по Информатике 2023-2024 (24 октября 2023)
Приобрести задания и ответы (все варианты)

Задание 1:
Пара‑тройка конфет

Ограничение по времени: 0.5 секунды
Ограничение по памяти: 256 мегабайт
У Алисы сегодня день рождения, и она хочет угостить своих одноклассников конфетами. В магазине, в который она успеет зайти перед школой, есть сладости двух видов: шоколадные и карамельные. Они продаются наборами по 3 штуки, причём в упаковке есть конфеты каждого из двух видов (то есть в одной упаковке лежат две конфеты одного вида и одна конфета другого вида). По внешнему виду упаковки нельзя понять, какие конфеты лежат внутри.
Чтобы никого не обидеть, всем в классе нужно раздать конфеты одного вида, а оставшиеся девочка заберёт домой. Алисе нужно собираться в школу, поэтому она попросила вас посчитать, какое минимальное число упаковок нужно купить, чтобы конфет хватило на всех.

Формат входных данных

В единственной строке задано число n (1≤n≤109) —— количество человек в классе.

Формат выходных данных

Выведите единственное число —— количество упаковок, которое должна купить Алиса.

Система оценки

Решения, правильно работающие при n≤103, будут оцениваться в 25 баллов. Решения, правильно работающие при n≤106, будут оцениваться в 50 баллов.

Замечание

В первом примере Алиса купит две упаковки с конфетами. В первой упаковке лежат 2 конфеты одного вида и 1 конфета другого вида. Если вторая упаковка будет такая же, как и первая, то у Алисы окажется 4 конфеты одного вида и 2 конфеты другого вида. Если вторая упаковка будет отличаться от первой, то у Алисы будет по 3 конфеты каждого вида. В любом случае у Алисы найдётся 3 конфеты одного вида.
Как видно из первого примера, для того, чтобы гарантированно получить 4 конфеты одного вида, недостаточно купить две упаковки.

Задание 2:
Речной бой

Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Поле в игре «Речной бой» представляет собой полоску длины n клеток и шириной в одну клетку. Где‑то на поле расположен корабль из k клеток (k≤n). Какое наименьшее число выстрелов необходимо, чтобы гарантированно потопить корабль? После каждого выстрела сообщается его результат: «мимо», «ранен» или «убит».

Формат входных данных

Первая строка входных данных содержит целое число n (1≤n≤109). Вторая строка входных данных содержит целое число k (1≤k≤n).

Формат выходных данных

Выведите одно целое число —— количество выстрелов.

Система оценки

Решения, правильно работающие при n≤10, будут оцениваться в 40 баллов.

Замечание

В первом примере поле состоит из n=4 клеток, корабль имеет длину k=2. Первый выстрел нужно сделать в одну из двух центральных клеток. Если результатом будет «ранен», то вторая клетка корабля находится в одной из двух соседних клеток, и за два выстрела мы гарантированно потопим корабль. Если результатом первого выстрела будет «мимо», то корабль занимает две единственные свободные смежные клетки, которые тоже можно подбить двумя выстрелами. Итого нужно 3 выстрела, двух выстрелов недостаточно.

Задание 3:
Красивый шарф

Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Алиса решила поздравить своего друга с началом нового учебного года. Впереди холодная осень, поэтому она решила связать для него собственными руками шарф.
Незаметно для друга Алиса узнала, что ему большего всего нравятся k различных цветов. Алиса приняла решение связать шарф размером n×m, в котором будут чередоваться полоски различных цветов. Её друг никогда не ищет лёгких путей, поэтому она решила, что шарф с горизонтальными или вертикальными полосками покажется ему слишком примитивным. Алиса решила, что полоски определёенно должны быть диагональными!
Закончив вязать шарф, Алиса вспомнила, что один из k цветов её друг считает особенным! Это цвет c, который, по его мнению, приносит школьникам удачу на олимпиадах по информатике. И Алисе стало невероятно интересно, сколько фрагментов шарфа имеют именно такой цвет. Шарф получился очень большим, Алиса очень устала, пока его вязала, поэтому сама она уже не может ответить на этот вопрос и просит вас о помощи…
Более формально шарф можно представить в виде таблицы размером n×m, каждая клетка которой покрашена в один из k цветов. Цвета нумеруются от 1 до k.
Первая строка таблицы покрашена в цвета 1,2,…,k,1,2,…,k и т.д. Каждая следующая строка получена из предыдущей сдвигом влево на одну клетку. Таким образом, таблица состоит из диагональных полос.
При n=4, m=8 и k=3 таблица будет иметь следующий вид.

По данным числам n, m, k и c определите, сколько всего клеток покрашено в цвет c.

Формат входных данных

Первая строка входных данных содержит натуральное число n —— ширину шарфа.
Вторая строка входных данных содержит натуральное число m —— длину шарфа.
Третья строка входных данных содержит натуральное число k —— количество любимых цветов друга Алисы.
Числа n, m и k не превосходят 109.
Четвёртая строка входных данных содержит натуральное число c —— номер особенного цвета (1≤c≤k).

Формат выходных данных

Программа должна вывести одно целое число —— количество клеток шарфа, которые покрашены в цвет c.
Обратите внимание, что ответ в этой задаче может превышать возможное значение 32‑битной целочисленной переменной, поэтому необходимо использовать 6464‑битные целочисленные типы данных (тип int6464 в языке Pascal, тип long long в C++, тип long в Java и C#).

Система оценки

Решения, правильно работающие, когда число n не превосходит 10, наберут не менее 16 баллов.
Решения, правильно работающие, когда одно из чисел (n или m) делится нацело на k, наберут не менее 16 баллов.
Решения, правильно работающие, когда числа n и m не превосходят 800, наберут не менее 40 баллов.
Решения, правильно работающие, когда числа n и m не превосходят 105, наберут не менее 60 баллов.

Замечание

Картинка соответствует примеру из условия. Шарф имеет размеры 4×8 и состоит из клеток трёх цветов. В цвет 1 покрашены 11 клеток.

Задание 4:
Гостиница для жирафов

Ограничение по времени: 1 секунда
Ограничение по памяти:256 мегабайт
В гостинице для жирафов администрация хочет запастись подушками так, чтобы удовлетворить потребности любого своего возможного постояльца. Известно, что жирафам в зависимости от длины их шеи нужно сложить стопку подушек (в стопке одна или несколько подушек) толщиной от 1 до n сантиметров. При этом администрация хочет обойтись как можно меньшим числом подушек, а среди наборов подушек, удовлетворяющих этим требованиям, администрация выберет набор минимальной суммарной толщины, чтобы он занимал минимальный объём в шкафу.
Помогите администрации составить нужный набор подушек, позволяющий получить стопку любой высоты от 1 до n сантиметров включительно.

Формат входных данных

Во входных данных записано единственное целое число —— n из условия задачи (1≤n≤109).

Формат выходных данных

В единственной строке через пробел выведите толщину каждой подушки в этом наборе в произвольном порядке. Если ответов несколько, выведите любой из них.

Система оценки

Решения, правильно работающие при n≤20, будут оцениваться в 20 баллов.
Решения, правильно работающие при n≤1000, будут оцениваться в 40 баллов.

Замечание

В примере из условия необходимо подобрать такой набор из минимального числа подушек, чтобы, используя данные подушки, удавалось сложить стопку любой целочисленной толщины от 1 до 9 см. Таким набором является набор из подушек толщиной 1,2,3,3 см. Действительно, стопку толщины 1,2,3 см можно сложить из одной подушки. Оставшиеся числа получили так: 4=1+3, 5=2+3, 6=3+3, 7=1+3+3, 8=2+3+3, 9=1+2+3+3. Возможны и другие варианты ответа. Выполнить условие задачи, используя только три подушки, нельзя.

Задание 5:
Сломанный индикатор

Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
У радиолюбителя Алексея есть девятисегментный жидкокристаллический индикатор, который может показывать цифры от 0 до 9 в виде цифр «почтового индекса» (см. рисунок):

После неудачного эксперимента индикатор повредился, и часть сегментов могла перегореть. Когда сегмент перегорает, индикатор теряет возможность показывать цифры, использующие этот сегмент.
Алексей уже выяснил, что индикатор всё ещё способен показать какие‑то n цифр. Однако радиолюбитель не может проверить остальные цифры, равно как и каждый сегмент отдельно. Поэтому он просит вас помочь найти те цифры, которые гарантированно можно показать на этом индикаторе.

Формат входных данных

Первая строка входных данных содержит число n (1≤n≤10) —— количество цифр, которые смог показать на индикаторе Алексей.
Следующие n строк содержат по одной цифре ai (0≤ai≤9) —— сами цифры, которые Алексей смог показать. Гарантируется, что все ai различны.

Формат выходных данных

Выведите элементы искомого множества в порядке возрастания, каждую цифру в отдельной строке.

Система оценки

Решения, правильно работающие при 2≤ai≤4, будут оцениваться в 28 баллов.