Ответы по олимпиаде для всех по информатике 2023 от Яндекс.Учебник
95579
В лаборатории несколько узлов сети — известны их координаты. Некоторые соседние узлы надо соединить отрезком кабеля так, чтобы каждый был соединён хотя бы с одним другим. Вот так, например, можно соединить узлы 1, 2, 4, 10, 11 и 12. Общая длина всех отрезков равна 5. Сократить её ещё невозможно.
Здесь Вы узнаете:
1 Задача — 1 балл
С помощью отрезков соедини точки 1, 5, 7, 12 так, чтобы каждая соединялась хотя бы с одной другой. Суммарная длина отрезков должна быть минимальной.
2 Задача — 2 балла
С помощью отрезков соедини точки 1, 3, 6, 8, 13 так, чтобы каждая соединялась хотя бы с одной другой. Суммарная длина отрезков должна быть минимальной.
3 Задача — 3 балла
С помощью отрезков соедини точки 1, 4, 6, 8, 11, 13, 16 так, чтобы каждая соединялась хотя бы с одной другой. Суммарная длина отрезков должна быть минимальной.
Есть серверная комната, разбитая на клетки. Если в какую-то клетку поместить кулер, он начнёт постепенно охлаждать комнату. Сначала клетку, где он находится, через минуту все соседние с ней клетки, а потом их соседей и т. д. Пример:
4 Задача — 2 балла
Расположи два кулера так, чтобы за минимальное время охладить всю комнату.
5 Задача — 3 балла
Расположи три кулера так, чтобы за минимальное время охладить всю комнату.
6 Задача — 5 баллов
Расположи четыре кулера так, чтобы за минимальное время охладить всю комнату.
7 Задача — 3 балла
На двери VR-лаборатории установлен кодовый замок. Чтобы открыть его, надо ввести числа в пустые квадраты. Расставь в таблице цифры от 1 до 4 так, чтобы в каждом ряду и каждом столбце цифры не повторялись, а между соседними клетками выполнялись все неравенства там, где они указаны.
8 Задача — 5 баллов
Расставь в таблице цифры от 1 до 4 так, чтобы в каждом ряду и каждом столбце цифры не повторялись, а между соседними клетками выполнялись все неравенства там, где они указаны.
9 Задача — 8 баллов
Расставь в таблице цифры от 1 до 5 так, чтобы в каждом ряду и каждом столбце цифры не повторялись, а между соседними клетками выполнялись все неравенства там, где они указаны.
10 Задача — 4 балла
В Отделе разработки проектируют новую линейку материнских плат. У инженеров есть несколько квадратных микросхем, каждая сторона которых помечена каким-то числом. Микросхемы при установке нельзя поворачивать и переворачивать. Размести микросхемы на плате так, чтобы их соседние стороны были помечены одинаковыми числами.
11 Задача — 6 баллов
Размести микросхемы на плате так, чтобы их соседние стороны были помечены одинаковыми числами.
12 Задача — 9 баллов
Размести микросхемы на плате так, чтобы их соседние стороны были помечены одинаковыми числами.
Ровердром
Тренировочная задача 1 [1 балл]. Доведи ровера до финишной клетки. Красить ничего не нужно
Тренировочная задача 2 [1 балл]. Роверу нужно покрасить все отмеченные клетки. Остановиться можно где угодно.
Задача 1 [12 баллов]
Робот находится в квадрате 2×2 клетки, одна из которых закрашена. Нужно закрасить ещё одну — находящуюся в той же строке, что и закрашенная.
Робот может остановиться в любой клетке.
Задача 2 [13 баллов]
Внутри прямоугольника есть горизонтальный коридор, вход в который открыт только с одной стороны. Робот находится где-то в этом коридоре.
Закрась клетки коридора через одну, начиная с клетки-входа. Клетки за пределами коридора красить нельзя.
Робот должен остановиться в коридоре, в дальней от входа клетке.
if wall_from_left(): for count in range(10): move_right() while not wall_from_left(): fill_cell() move_left() move_left() fill_cell() else: for count2 in range(4): move_left() while not wall_from_right(): fill_cell() move_right() move_right() fill_cell()
Задача 3 [25 баллов]
На поле расположено несколько вложенных друг в друга прямоугольников. Между ними есть проходы. Их направление (вверх и вниз) чередуется — например, если в первом прямоугольнике проход сверху, то во втором он будет снизу. В каждом прямоугольнике может быть несколько проходов. Проходов, находящихся в угловых клетках прямоугольников, быть не может.
Останови робота в верхнем левом углу внешнего прямоугольника.
У Тани день рождения. Она взяла из копилки x рублей, купила торт за t рублей, а на оставшиеся деньги решила сводить друзей в кино. Билет стоит b рублей. Напиши программу, которая прочитает три числа, записанных по одному в строке: x, t и b, и выведет два числа: • скольких друзей Таня может сводить в кино; • сколько денег у неё останется.
Задача 1 [10 баллов]
Роботы встали в очередь на обучение.
Каждому роботу нужно A минут на обучение, после чего компьютер должен B минут остывать перед обучением следующего робота.
Оператор хочет узнать, сколько роботов он успеет обучить за T минут.
Есть числа A, B и T — по одному в строке.
Программа должна вывести одно число — количество роботов, которые успеют пройти обучение за указанное время.
Тренировочная задача 2 [1 балл]
Даны минимальная температура, максимальная температура и текущая температура.
Выведи действие климат-контроля:
• Если текущая температура меньше минимальной — «Надо нагреть».
• Если текущая температура больше максимальной — «Надо остудить».
• Иначе — «Нормальная температура».
Тренировочная задача 3 [1 балл]
Петя считает, сколько шагов он прошёл за день. Он записал статистику за несколько дней. Посчитай, сколько всего шагов он прошёл. Сначала прочитай количество дней n, затем n строк (в каждой — количество шагов). Программа должна вывести сумму шагов за все указанные дни.
Тренировочная задача 4 [1 балл]
Петя считает, сколько шагов он прошёл за день. Он записал статистику за несколько дней. Петя выходил каждый день, а потом простудился и остался дома. В этот день в записях появился первый ноль. Посчитай, сколько всего шагов прошёл Петя до того, как простудился.
Задача 2 [15 баллов]
Робот учится петь. Пока это непростая для него задача, и не все слова получается пропеть красиво и внятно.
Роботу удобно петь слово, если в нём буквы, обозначающие согласные звуки, чередуются с буквами, обозначающими гласные.
Например, «лалала», «ахаха» и «бада бам» — это удобные строки, а «бам бам» и «тру ля ля» — нет.
Есть строка. Выведи минимальное количество букв, которые нужно заменить, чтобы роботу было удобно её пропеть. Обрати внимание — в строке может быть несколько слов, разделённых пробелами. Вся фраза целиком может оказаться неудобной для пения, несмотря на то, что каждое слово в отдельности — удобное.
Буквы, обозначающие гласные звуки: а, у, о, и, э, ы, я, ю, е, ё.
Тренировочная задача 5 [1 балл]
Компьютер «приветствует» пользователя. Приветствие — это одно слово, за ним запятая, пробел и имя. В конце восклицательный знак. Например, вот так: «Привет, Саша!» Напиши программу, которая отвечает на приветствие фразой «Меня зовут не Саша.» В ответе должно быть именно то имя, которое использовал компьютер, а в конце — точка.
Задача 3 [25 баллов]
В сервисе починки роботов очень важно соблюдать порядок. Главный механик любит, чтобы все роботы стояли друг за другом — сначала только сломанные (если они есть), а потом исправные (если они есть).
По ночам роботы всё время гуляют по ангару, и к утру порядок, установленный главным механиком, нарушается. Механик решил наказывать роботов, которые нарушают порядок, и удалять из очереди. Но роботы взбунтовались и требуют равноправия — если уж удалять из очереди, то равное количество исправных и сломанных роботов.
Сломанные роботы обозначаются буквой B (broken), исправные — буквой W (working).
Есть строка из букв B и W. Надо удалить наименьшее и равное количество сломанных и исправных роботов так, чтобы в очереди сначала стояли только сломанные, а потом только исправные. Может оказаться, что одних или других нет. Общее количество роботов в очереди не превышает 10 000.
Выведи количество удалённых роботов и очередь, которая получилась после удаления нарушивших правило роботов.
Если в очереди никого не осталось, выведи «НИКОГО НЕ ОСТАЛОСЬ».
x = int(input()) t = int(input()) b = int(input()) q = (x — t) // b print(q) print(x — t — q * b)
a = int(input()) b = int(input()) t = int(input()) print(t // (a + b))
a = int(input()) b = int(input()) c = int(input()) if c < a: print(«Надо нагреть») elif c > b: print(«Надо остудить») else: print(«Нормальная температура»)
невероятно
15 дней назад
невероятно. невероятные задания. ребята в комментариях тоже невероятны.
норм
Где ответы на кодовые задания?
ахахахахаххахах
+++ сам найти не могу, все решил, а этих заданий нет
ага…
это как бы не правильно, ведь там нужно сделать программу которая ответит на несколько тестов
а у меня правильно до кодовых заданий
я хз у меня ток 2 открыто.
нет кодовых заданий
you stuipid
No, you STUPID
Guys, we everyone dumb, cause we cheat…
sdsa
Решения задач по программированию робота — неправильные. программы должны работать на всех тестах, в том числе скрытых, а не только на первых двух
ну скажи мне ты пытался открыть другие тесты? они не открываются а значит заблоканы/недоработанные
ты че тупой? их надо додумать самому и программа должна быть универсальной, подходить под ВСЕ возможные тесты
Как тут сдать олимпиаду
x, t, b = int(input()), int(input()), int(input())
x -= t
print(x // b)
print(x % b)
на 1 кодовое
a=int(input())
b=int(input())
c=int(input())
if c<a:
print(‘Надо нагреть’)
elif c>b:
print(‘Надо остудить’)
else:
print(‘Нормальная температура’)
a=int(input())
b=int(input())
c=int(input())
if c<a:
print(«Надо нагреть»)
elif c>b:
print(«Надо остудить»)
else:
print(«Нормальная температура»)
a = int(input())
b = int(input())
t = int(input())
print(t // (a + b))
чел, неправильно
x = int(input())
t = int(input())
b = int(input())
q = (x — t) // b
print(q)
print(x — t — q * b)
a = int(input())
b = int(input())
t = int(input())
print(t // (a + b))
a = int(input())
b = int(input())
c = int(input())
if c < a:
print(«Надо нагреть»)
elif c > b:
print(«Надо остудить»)
else:
print(«Нормальная температура»)
невероятно. невероятные задания. ребята в комментариях тоже невероятны.