Всероссийская олимпиада школьников по информатике школьный этап 2020-2021 учебный год ответы и задания для 5-11 класса (ВсОШ), официальная дата проведения в Москве: 29.10.2020-31.10.2020 (29-31 октября 2020 год).
Ссылка для скачивания заданий 5-6 класс: скачать
Ссылка для скачивания ответов 5-6 класс: скачать
Ссылка для скачивания программ 5-6 класс: скачать
Ссылка для скачивания заданий 7-8 класс: скачать
Ссылка для скачивания ответов 7-8 класс: скачать
Ссылка для скачивания программ 7-8 класс: скачать
Ссылка для скачивания заданий 9-11 класс: скачать
Ссылка для скачивания ответов 9-11 класс: скачать
Ссылка для скачивания программ 9-11 класс: скачать
Школьный этап 2020 олимпиады по информатике 5-6 класс задания и ответы:
Школьный этап 2020 олимпиады по информатике 7-8 класс задания и ответы:
Школьный этап 2020 олимпиады по информатике 9-11 класс задания и ответы:
Интересные задания с олимпиады по информатике:
1)Три родных брата учатся в первом, третьем и пятом классах одной школы. Федя при этом не старше Димы, а Женя — не старше Феди. Определите, кто в каком классе учится. В ответе запишите три буквы в следующем порядке: первая буква имени мальчика, который учится в первом классе, первая буква имени мальчика, который учится в третьем классе, первая буква имени мальчика, который учится в пятом классе.
2)Жители звёздной системы Тау Кита знают две буквы: А и У. Праздничная песня таукитян состоит из нескольких куплетов. Первый куплет состоит из одной буквы А. Каждый следующий куплет состоит из предыдущего куплета, повторённого два раза, при этом во втором повторении куплета каждая буква меняется на другую букву. Например, второй куплет имеет вид “АУ”, а третий куплет — “АУУА”. Запишите пятый куплет песни таукитян.
3)В доме 9 этажей, пронумерованных числами от 1 до 9. Лифт стоит на этаже номер 1 и имеет всего две кнопки: A и Б. Нажатие на кнопку А приводит к тому, что лифт поднимается на 3 этажа вверх. Нажатие на кнопку Б приводит к тому, что лифт спускается на 2 этажа вниз. Как подняться с 1-го этажа на 9-й этаж?
В ответе запишите последовательность нажатий кнопок (строку из букв “А” и “Б”), приводящую к тому, что лифт, находящийся на этаже 1, окажется на этаже 9. При перемещении лифт не может подниматься выше 9-го этажа и опускаться ниже 1-го этажа. Чем меньше нажатий будет в вашем решении, тем больше баллов вы получите.
4)Иллюзионист в цирке показывает фокус. У него имеется 50 монет, он раскладывает их в несколько кошельков. После этого зритель из зала называет любое число от 1 до 50, и фокусник отдаёт ему один или несколько кошельков, содержащих в точности названное зрителем количество монет. Как фокуснику нужно разложить монеты по кошелькам, чтобы он мог отдать любое указанное число монет от 1 до 50? Укажите в ответе количество монет в каждом кошельке в виде последовательности чисел, разделённых пробелами. Сумма всех чисел в ответе должна быть равна 50. Чем меньше кошельков вы используете в своём решении, тем больше баллов вы получите.
5)Как известно, наиболее сложно при управлении автомобилем (на дорогах с правосторонним движением) поворачивать налево, поскольку при этом нужно пропускать автомобили, двигающиеся навстречу. Поэтому в некотором городе запретили все повороты налево, то есть на перекрёстках можно либо продолжить движение в том же направлении, либо повернуть направо. Разворачиваться и поворачивать налево на перекрёстках запрещено. План города представляет собой прямоугольную сетку, в узлах сетки находятся перекрёстки, соединённые дорогами. Расстояние между перекрёстками равно 1. Но некоторые проезды между перекрёстками закрыты, передвигаться можно только по белым улицам (в том числе и по внешней белой границе), проезжать по серым улицам и перекрёсткам нельзя.
Ваш автомобиль находится на отмеченном изображением автомобиля перекрёстке и движется в направлении стрелки. То есть следующий перекрёсток, на который может приехать автомобиль, находится в направлении стрелки. Вам необходимо приехать на перекрёсток, обозначенный звёздочкой. Вы можете приехать на этот перекрёсток с любой из трёх возможных сторон. Постройте не содержащий левых поворотов маршрут автомобиля кратчайшей длины. Ответ необходимо записать в виде последовательности целых чисел, каждое число может принимать значение от 1 до 9. Число равно количеству кварталов (промежутков между перекрёстками), которое автомобиль проезжает в прямом направлении, затем автомобиль поворачивает направо. Например, последовательность “4 1” означает, что автомобиль проезжает 4 квартала, поворачивает направо, затем проезжает 1 квартал. В этом случае автомобиль завершит движение в правом нижнем углу карты, если он стартует в направлении стрелки.
6)Строка Туе-Морса — бесконечная последовательность из нулей и единиц, которая получается следующим образом. В начале последовательности записана цифра 0. Затем повторяются следующие действия: к уже выписанной части последовательности дописывается столько же символов, сколько уже выписано до этого, при этом цифры 0 меняются на 1, цифры 1 меняются на 0. То есть к последовательности 0 будет дописана 1, получится 01. Затем к последовательности 01 будет дописана последовательность 10, получится 0110. Затем к ней будет дописано 1001, получится 01101001. Затем получится последовательность 0110100110010110 и т. д. Выполните задания.
- 1. Выпишите 5 символов последовательности, начиная с 17-го символа (т.е. символы с 17-го по 21-й).
- 2. Выпишите 5 символов последовательности, начиная с 60-го.
- 3. Выпишите 5 символов последовательности, начиная с 100-го.
- 4. Выпишите 5 символов последовательности, начиная с 200-го.
- 5. Выпишите 5 символов последовательности, начиная с 2050-го.
Ответом на это задание является пять строк, каждая содержит ровно 5 символов «0» или «1» ответы на задания 1 – 5. Если вы не можете дать ответ на какое-то задание, напишите в соответствующей строке пять любых символов «0» или «1».
7)Если нарисовать правильный треугольник со стороной n и разделить его на правильные треугольники со стороной 1, то получится n 2 маленьких треугольников. Например, при n = 3 (см. рисунок) получится 9 маленьких треугольников.
А какая будет длина всех проведённых при этом линий? Например, при n = 3 длина всех линий равна 18. Ответом на эту задачу является некоторое выражение, которое может содержать целые числа, переменную n, операции сложения (обозначаются «+»), вычитания (обозначаются «−»), умножения (обозначаются «*»), деления (обозначаются «/») и круглые скобки для изменения порядка действий. Запись вида «2n» для обозначения произведения числа 2 и переменной n неверная, нужно писать «2 * n». Выражение вида «n 2» нужно записывать с использованием операции умножения: «n * n». Ваше выражение должно давать правильный ответ для любых n, например, для n = 3 значение выражения должно быть равно 18. Пример правильной формы записи ответа: (n + 1) * (n — 2) / 2
8)В дощечку в ряд вбито 10 гвоздиков, таким образом, получилось 9 последовательных промежутков между ними. Длины промежутков (подряд, слева направо) оказались равны 7, 2, 8, 4, 3, 9, 5, 1, 6. Между некоторыми соседними гвоздиками можно натянуть верёвочку, будем считать длину этой верёвочки равной длине промежутка. Вам необходимо привязать верёвочки так, чтобы к каждому гвоздику была привязана верёвочка хотя бы с одной стороны, при этом суммарная длина всех верёвочек была бы минимальной. Ответ запишите в виде последовательности из 9 чисел, равных 0 или 1. Число 0 означает, что в соответствующем промежутке нет верёвочки, число 1 означает, что в этом промежутке есть верёвочка.
Условие, что к каждому гвоздику привязана хотя бы одна верёвочка, означает, что в ответе нет двух нулей подряд, а также, что первым и последним символом ответа является 1. Например, пусть в задании было дано 5 гвоздиков и 4 промежутка длиной 1, 2, 3, 4. Длина верёвочек будет минимальной, если привязать верёвочки в промежутках 1, 2 и 4. Ответ тогда следовало бы записать в виде 1101.
9)Как известно, наиболее сложно при управлении автомобилем (на дорогах с правосторонним движением) поворачивать налево, поскольку при этом нужно пропускать автомобили, двигающиеся навстречу. Поэтому в некотором городе запретили все повороты налево, то есть на перекрёстках можно либо продолжить движение в том же направлении, либо повернуть направо. Разворачиваться и поворачивать налево на перекрёстках запрещено. План города представляет собой прямоугольную сетку, в узлах сетки находятся перекрёстки, соединённые дорогами. Расстояние между перекрёстками равно 1. Но некоторые проезды между перекрёстками закрыты, передвигаться можно только по белым улицам (в том числе и по внешней белой границе), проезжать по серым улицам и перекрёсткам нельзя.
Ваш автомобиль находится на отмеченном изображением автомобиля перекрёстке и движется в направлении стрелки. То есть следующий перекрёсток, на который может приехать автомобиль, находится в направлении стрелки. Вам необходимо приехать на перекрёсток, обозначенный звёздочкой. Вы можете приехать на этот перекрёсток с любой из трёх возможных сторон. Постройте не содержащий левых поворотов маршрут автомобиля кратчайшей длины.
10)Ответ необходимо записать в виде последовательности целых чисел, каждое число может принимать значение от 1 до 9. Число равно количеству кварталов (промежутков между перекрёстками), которое автомобиль проезжает в прямом направлении, затем автомобиль поворачивает направо. Например, последовательность “4 1” означает, что автомобиль проезжает 4 квартала, поворачивает направо, затем проезжает 1 квартал. В этом случае автомобиль завершит движение в правом нижнем углу карты, если он стартует в направлении стрелки.
11)Остановки расположены в точках, кратных k, поэтому от последней пройденной остановки Света прошла n%k метров (здесь % — операция взятия остатка от деления, в языке Pascal это операция mod). А до следующей остановки нужно идти k − n%k метров. Ответом будет минимум из этих величин. Пример решения. k = int(input()) n = int(input()) print(min(n % k, k — n % k))
12)В одной коробке лежит 3 пирожных, поэтому a + b должно делится на 3, иначе ответ -1. Если a + b делится на 3, то посчитаем общее количество коробок n = (a + b)/3. Пусть n1 — количество коробок первого вида, а n2 — количество коробок второго вида. Посмотрим на коробки первого вида. В каждой коробке лежит минимум один эклер, то есть в n коробках лежит n эклеров. В коробке первого вида лежит один дополнительный эклер, поэтому количество коробок первого вида должно быть равно a − n. При этом a > n, иначе задача не имеет решения. Аналогично, количество коробок второго вида равно b − n. То есть если выполнены условия a > n и b > n, то ответом будут числа a − n и b − n.
13)Решение, в котором создаётся двумерный массив размером n×n будет набирать 60 баллов. В этом массиве отмечаются клетки, занятые ладьями по строкам (для каждой строки считывается номер столбца, где стоит ладья, и этот элемент отмечается специальным значением, например, числом 1). Затем массив обходится по столбцам, так как при повороте строки становятся столбцами, в каждом столбце находится значение, которое равно 1 и выводится ответ. Для того, чтобы набрать полный балл, необходимо понять, что происходит с координатами ладьи при повороте. Если ладья стояла в клетке (i, j), то есть в i-й строке в j-м столбце, то после поворота она окажется в j-й строке и в столбце n + 1 − i. То есть если организовать цикл по номеру строки i от 1 до n и в этом цикле считать номер столбца j, то эта ладья перейдёт в клетку (j, n + 1 − i), значит, ответом для j-й строки будет число n + 1 − i. Поскольку нам необходимо вывести ответ в порядке возрастания номеров строк ответа от 1 до n, то мы будем сохранять ответ для j-й строки в элементе массива a[j] = n + 1 − i, а потом выведем ответ.
14)40 баллов можно набрать, если написать решение, полностью моделирующее заполнение этой таблицы. Пусть x — текущее число, которое будет меняться от 1 до n, i и j — номера клеток, в которое будет записываться это число. Далее нужно корректно обработать, как меняются значения i и j при увеличении x на 1. Здесь придётся разобрать 6 случаев: 4 случая при движении по стороне квадрата (чётные и нечётные квадраты обходятся в разных направлениях, у квадрата две стороны), и два случая — когда при обходе достигается верхняя или левая сторона таблицы и происходит переход к следующему квадрату.
15)Сначала несколько общих соображений. Если мы хотим понять, может ли победить какая-то выбранная бактерия, то эта бактерия будет поедать другие бактерии, а другие бактерии поедать друг друга не будут (лучше расправиться с другими бактериями, если их размеры не будут увечиваться). Кроме того, все остальные бактерии лучше поедать в порядке возрастания их размеров (будем есть сначала маленькие бактерии, это позволит нарастить размер и съесть бактерии побольше). Решение на 60 баллов — для каждой бактерии будем моделировать процесс. Будем перебирать все оставшиеся бактерии в порядке возрастания их размеров, и проверять, сможет ли наша бактерия съесть следующую в этом списке, если она уже съела все предыдущие. Такое решение будет иметь сложность O(n 2 ). Пример такого решения на языке C++.
Ответы и задания для других предметов школьного этапа 2020:
ВСЕРОССИЙСКИЕ олимпиады 2020-2021 школьный этап задания и ответы