P
pro·school.ru
Каталог школ
💻 ВсОШ · Школьный этап · 2023/2024

Олимпиада по информатике 7–8 классышкольный этап ВсОШ 2023/2024: задания и ответы

Официальный комплект школьного этапа Всероссийской олимпиады школьников по информатике для 7–8 классов (2023/2024 учебный год). Задания и решения с критериями оценивания — скачайте PDF или прорешайте онлайн по тексту ниже.

Просмотр PDF: ЗаданияОткрыть в новой вкладке ↗

Задания — текст для прорешивания

Текст извлечён из официального PDF автоматически: формулы, таблицы и рисунки могут отображаться неточно — сверяйтесь с документом выше.

Школьный этап всероcсийской олимпиады по информатике для 9–11 классов Москва, 24 октября 2023

Задача 1. Пара-тройка конфет Ограничение по времени:

1 секунда

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

Формат входных данных В единственной строке задано число n (1 ⩽ n ⩽ 109 ) — количество человек в классе.

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

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

Примеры стандартный ввод

стандартный вывод

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

Страница 1 из 6

Школьный этап всероcсийской олимпиады по информатике для 9–11 классов Москва, 24 октября 2023

Задача 2. Речной бой Ограничение по времени:

1 секунда

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

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

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

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

Примеры стандартный ввод

стандартный вывод

4 2

4 4

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

Страница 2 из 6

Школьный этап всероcсийской олимпиады по информатике для 9–11 классов Москва, 24 октября 2023

Задача 3. Красивый шарф Ограничение по времени:

1 секунда

Алиса решила поздравить своего друга с началом нового учебного года. Впереди холодная осень, поэтому она решила связать для него собственными руками шарф. Незаметно для друга Алиса узнала, что ему большего всего нравятся 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-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C++, тип long в Java и C#).

Страница 3 из 6

Школьный этап всероcсийской олимпиады по информатике для 9–11 классов Москва, 24 октября 2023

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

Пример стандартный ввод 4 8 3 1

стандартный вывод 11

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

Страница 4 из 6

Школьный этап всероcсийской олимпиады по информатике для 9–11 классов Москва, 24 октября 2023

Задача 4. Гостиница для жирафов Ограничение по времени:

1 секунда

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

Формат входных данных Во входных данных записано единственное целое число n — максимально возможная длина шеи жирафа (1 ⩽ n ⩽ 109 ).

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

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

Пример стандартный ввод 9

стандартный вывод 1 2 3 3

Замечание В примере из условия необходимо подобрать такой набор из минимального числа подушек, чтобы используя данные подушки удавалось сложить стопку любой целочисленной толщины от 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 из 6

Школьный этап всероcсийской олимпиады по информатике для 9–11 классов Москва, 24 октября 2023

Задача 5. Сломанный индикатор Ограничение по времени:

1 секунда

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

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

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

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

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

Примеры стандартный ввод

стандартный вывод

3 2 4 8

0 2 4 5 8 9

2 6 1

1 6

Страница 6 из 6

Ответы и решения — показать

Официальные ответы и критерии оценивания жюри. Сначала решите задания самостоятельно.

Школьный этап всероcсийской олимпиады по информатике для 5–6 классов Москва, 24 октября 2023

Разбор задач

Задача 1. Забег

Составим таблицу, в строках которой будут содержаться имена мальчиков, а в столбцах — места от 1 до 5. Отметим в этой табличке количество утверждений, сделанных мальчиками. Например, в клетке «Саша–2» поставим цифру 2, потому что такое утверждение сделал Саша, и это одно из утверждений Егора. 1 2 3 4 5 ○ Алёша 1 1 1 ○ 1 Боря 1 1 ○ Саша 1 2 ○ 1 Дима 1 1 ○ 1 Егор 2 В этой таблице нам необходимо выбрать 5 клеток в разных строках и разных столбцах, мы можем выбрать обе двойки, а также три единицы. В таблице выбранные числа обведены. Ответ: Дима, Саша, Боря, Егор, Алёша. В этом случае верными будут 7 утверждений.

Задача 2. Выражение

Ответ содержит три слагаемых, одно из которых является произведением двух чисел. Чтобы получить как можно большее значение выражения, нужно сделать сомножители максимально большими. То есть слагаемые будут равны 1 и 2, а из цифр 3, 4, 5, 6 нужно собрать два сомножителя. Для получения максимального произведения цифры сомножителей должны убывать, а сами сомножители — начинаться с цифр 5 и 6. Осталось четыре варианта выбора сомножителей: 643 × 5, 64 × 53, 63 × 54 и 6 × 543. Эти значения уже можно вычислить и выбрать наибольшее: 63 × 54. Или можно заметить, что лучше выбрать два двузначных множителя. Например, если перемножить два двузначных числа 60 + a и 50 + b, где a и b — две цифры 3 и 4, то произведение будет равно 3000 + 50a + 60b + ab, а если перемножить однозначное число 6 и трёхзначное число 500 + 10a + b, то результат будет равен 3000 + 60a + 6b, то есть меньше. Далее для того, чтобы максимизировать значение 3000+50a+60b+ab, нужно взять a = 3 и b = 4, то есть произведение окажется максимальным, если взять сомножители 63 и 54. Ответ: 1 + 2 + 63 ∗ 54 или любой эквивалентный, отличающийся порядком чисел.

Задача 3. Подушки для жирафов

У нас уже есть подушки толщиной 1 и 2, из них можно собрать стопку толщины 3. Следующая подушка имеет толщину 5, поэтому толщину 4 получить не удастся. Так как мы умеем получать любую толщину от 1 до 3, то, используя подушку 5, можно получить толщину от 5 до 8. Толщину 9 получить не удастся. Подушка 10 у нас есть, с её помощью получим все толщины от 10 до 18, кроме 10 + 4 = 14. Используя подушку 13, получим все толщины до 13 + 18 = 31, кроме 13 + 4 = 17, 13 + 9 = 22, 13 + 14 = 27, то есть теперь из толщин от 1 до 31 невозможными являются только 4, 9, 22, 27. Используя подушку 19, получим все толщины от 19 до 50, кроме 19 + 4 = 23, 19 + 9 = 28, 19 + 22 = 41 и 19 + 27 = 46, в частности, удалось получить ранее невозможные толщины 22 и 27, а толщины 23 и 28 были получены ранее. Ответ: 4, 9, 41, 46.

Задача 4. Гоночная трасса

Самый быстрый способ прохождения трассы изображён на рисунке.

Страница 1 из 2

Школьный этап всероcсийской олимпиады по информатике для 5–6 классов Москва, 24 октября 2023

В ответе нужно записать числа 1, 2, 2, 2, 3, 3, 4, 3, 2, 3, 4, 3, 2, 1, 1.

Задача 5. Бег по пересечённой местности

Довольно несложно построить путь из 35 клеток, используя 19 блоков. Такое решение получит 70 баллов.

Но это решение можно улучшить, добавив дополнительные изгибы в тех местах, где происходит движение по прямой. Построим путь из 39 клеток, используя 19 блоков:

Страница 2 из 2

Видеоразборы заданий

Теория к заданиям: информатика, 7 класс

Школьный этап 2023/2024 — другие классы

Все классы →

Олимпиада по информатике 7 класс — другие годы и этапы

Все комплекты →