Бесплатный интенсив по информатике

3 огненных вебинара, домашние задания, беседа курса, личный кабинет, связь с преподавателем и многое другое.
Курс стартует 26 июля.

Подробнее об интенсиве

Задание 18. Алгебра логики. Преобразование и анализ логических выражений. ЕГЭ 2022 по информатике

За это задание ты можешь получить 1 балл. На решение дается около 3 минут. Уровень сложности: повышенный.
Средний процент выполнения: 32.2%
Ответом к заданию 18 по информатике может быть цифра (число) или слово.

Теория к 18 заданию: читать

Разбор сложных заданий в тг-канале

Задачи для практики

Задача 1

Квадрат разлинован на N*N клеток (1 < N <= 30). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз - в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. На поле могут быть стенки. При врезании в стенку робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата указана сумма монeт, которые может получить робот или которую роботу нужно отдать, от -100 до 100. Посетив клетку, Робот забирает или оставляет указанную сумму монет; это также относится к начальной и конечной клетке маршрута Робота.

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

Исходные данные представляют собой электронную таблицу размером N*N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

51 21 93 48
57 43 97 51
63 16 31 16
10 57 64 25

Для указанных входных данных ответом будет пара чисел 382 и 203. Тогда в ответе будет 179

Решение

Откроем файл электронной таблицы. Создайте новый лист и скопируйте в него таблицу.

Для решения данной задачи мы воспользуемся методом динамического программирования, чтобы найти значения в каждой ячейке. Сначала работаем в таблице, в которой посчитаем максимальную сумму. В ячейке A2 новой таблицы мы запишем формулу: =A1+Лист1!A2 и скопируем её вниз до конца заполненной таблицы. В ячейке В1 запишем формулу =A1+Лист1!B1 и растянем до конца строки. Это нужно для подсчёта максимального значения если робот будет идти только по крайним полям.

В ячейке В2 запишем формулу =МАКС(A2;B1)+Лист1!B2, чтобы посчитать максимальное количество монет, которое Робот может собрать, когда дойдёт до этой ячейки. Растягиваем формулу на всю таблицу.

Скопируйте данный, где искали максимум, на новый лист. Воспользуйтесь заменой (нажмите Ctrl+H) и замените МАКС на МИН. Полученный минимум будет в ячейке Т20

На поле у нас есть отрицательные значения. Робот не может ходить по таким полям.

Изменим нашу формулу и добавим в неё условие, что если в поле отрицательное значение, то результат будет сильно маленьким (намного меньше -100) =МАКС(B1;A2)+ЕСЛИ(Лист1!B2>0;Лист1!B2;-10000000000) и растяните её на всё пространство вдоль стенки. В таком случае мы получим, что проход через эту клетку приведёт к отрицательному ответу. Поэтому мы не будем

Ответ получите в ячейке T20

Найдите разность между первым и вторым числом и запишите ёё в ответе.

Ответ: 233
Показать решение
Бесплатный интенсив

Задача 2

Квадрат разлинован на N*N клеток (1 < N <= 30). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз - в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. На поле могут быть стенки. При врезании в стенку робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата указана сумма монeт, которые может получить робот или которую роботу нужно отдать, от -100 до 100. Посетив клетку, Робот забирает или оставляет указанную сумму монет; это также относится к начальной и конечной клетке маршрута Робота.

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

Исходные данные представляют собой электронную таблицу размером N*N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

51 21 93 48
57 43 97 51
63 16 31 16
10 57 64 25

Для указанных входных данных ответом будет пара чисел 382203.

Решение

Откроем файл электронной таблицы. Создайте новый лист и скопируйте в него таблицу.

Для решения данной задачи мы воспользуемся методом динамического программирования, чтобы найти значения в каждой ячейке. Сначала работаем в таблице, в которой посчитаем максимальную сумму. В ячейке A2 новой таблицы мы запишем формулу: =A1+Лист1!A2 и скопируем её вниз до конца заполненной таблицы. В ячейке В1 запишем формулу =A1+Лист1!B1 и растянем до конца строки. Это нужно для подсчёта максимального значения если робот будет идти только по крайним полям.

В ячейке В2 запишем формулу =МАКС(A2;B1)+Лист1!B2, чтобы посчитать максимальное количество монет, которое Робот может собрать, когда дойдёт до этой ячейки. Растягиваем формулу на всю таблицу.

Скопируйте данный, где искали максимум, на новый лист. Воспользуйтесь заменой (нажмите Ctrl+H) и замените МАКС на МИН. Полученный минимум будет в ячейке Т20

На поле у нас есть отрицательные значения. Робот не может ходить по таким полям.

Изменим нашу формулу и добавим в неё условие, что если в поле отрицательное значение, то результат будет сильно маленьким (намного меньше -100) =МАКС(B1;A2)+ЕСЛИ(Лист1!B2>0;Лист1!B2;-10000000000) и растяните её на всё пространство вдоль стенки. В таком случае мы получим, что проход через эту клетку приведёт к отрицательному ответу. Поэтому мы не будем

Ответ получите в ячейке T20

Запишите два числа в ответе.

Ответ: 21962168
Показать решение
Бесплатный интенсив

Задача 3

Квадрат разлинован на N*N клеток (1 < N <= 30). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз - в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. На поле могут быть стенки. При врезании в стенку робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит монeта достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.

Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа без пробела - сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N*N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

51 21 93 48
57 43 97 51
63 16 31 16
10 57 64 25

Для указанных входных данных ответом будет пара чисел 382203.

Решение

Откроем файл электронной таблицы. Создайте новый лист и скопируйте в него таблицу.

Для решения данной задачи мы воспользуемся методом динамического программирования, чтобы найти значения в каждой ячейке. Сначала работаем в таблице, в которой посчитаем максимальную сумму. В ячейке A2 новой таблицы мы запишем формулу: =A1+Лист1!A2 и скопируем её вниз до конца заполненной таблицы. В ячейке В1 запишем формулу =A1+Лист1!B1 и растянем до конца строки. Это нужно для подсчёта максимального значения если робот будет идти только по крайним полям.

В ячейке В2 запишем формулу =МАКС(A2;B1)+Лист1!B2, чтобы посчитать максимальное количество монет, которое Робот может собрать, когда дойдёт до этой ячейки. Растягиваем формулу на всю таблицу.

На поле у нас были стенки, желательно их восстановить, чтобы они отображались после. В полях, в которые можно попасть через стенку нужно изменить формула, для них формула будет аналогичной формуле крайних полей.

Обратите внимание на угол. Мы не сможем в него попасть и не сможем взять значения из всего прямоугольника. Для ячейки H5 нужно записать формулу =H4+Лист1!H5 т.к. мы не сможем выйти из прямоугольной области, где был угол и растянем её вдоль прямоугольника. Для ячейки Е9 запишем формулу =D9+Лист1!E9 и тоже растянем её вдоль прямоугольника. Для ячейки I13 запишем формулу =H13+Лист1!I13 и растянем её вдоль стены.

Ответ получите в ячейке T20

Скопируйте данный, где искали максимум, на новый лист. Воспользуйтесь заменой (нажмите Ctrl+H) и замените МАКС на МИН. Полученный минимум будет в ячейке Т20

Запишите два числа в ответе.

Ответ: 27891268
Показать решение
Бесплатный интенсив

Задача 4

Квадрат разлинован на N*N клеток (1 < N <= 30). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз - в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. На поле могут быть стенки. При врезании в стенку робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит монeта достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.

Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа без пробела - сначала минимальную сумму , затем максимальную.

Исходные данные представляют собой электронную таблицу размером N*N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

51 21 93 48
57 43 97 51
63 16 31 16
10 57 64 25

Для указанных входных данных ответом будет пара чисел 382203.

Решение

Откроем файл электронной таблицы. Создайте новый лист и скопируйте в него таблицу.

Для решения данной задачи мы воспользуемся методом динамического программирования, чтобы найти значения в каждой ячейке. Сначала работаем в таблице, в которой посчитаем максимальную сумму. В ячейке A2 новой таблицы мы запишем формулу: =A1+Лист1!A2 и скопируем её вниз до конца заполненной таблицы. В ячейке В1 запишем формулу =A1+Лист1!B1 и растянем до конца строки. Это нужно для подсчёта максимального значения если робот будет идти только по крайним полям.

В ячейке В2 запишем формулу =МАКС(A2;B1)+Лист1!B2, чтобы посчитать максимальное количество монет, которое Робот может собрать, когда дойдёт до этой ячейки. Растягиваем формулу на всю таблицу.

На поле у нас были стенки, желательно их восстановить, чтобы они отображались после. В полях, в которые можно попасть через стенку нужно изменить формулу, для них формула будет аналогичной формуле крайних полей.

В ячейку С3 запишите формулу =C2+Лист1!C3 и растяните её на всё пространство вдоль стенки. Аналогично сделайте для ячейки Q16. В ячейку G6 запишите формулу ==F6+Лист1!G6 и растяните её вправо, вдоль стены.

Ответ получите в ячейке T20

Скопируйте данный, где искали максимум, на новый лист. Воспользуйтесь заменой (нажмите Ctrl+H) и замените МАКС на МИН. Полученный минимум будет в ячейке Т20

Запишите два числа в ответе. СНАЧАЛА МИНИМУМ

Ответ: 13932788
Показать решение
Бесплатный интенсив

Задача 5

Квадрат разлинован на N*N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз - в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит моента достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.

Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа без пробела - сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N*N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

51 21 93 48
57 43 97 51
63 16 31 16
10 57 64 25

Для указанных входных данных ответом будет пара чисел 382203.

Решение

Откроем файл электронной таблицы. В свободной области начертим две таблицы того же размера, что и исходная (в нашем случае это размер 16*16). В одной из таблиц (например, таблица с ячейками R1:AG16) мы будем считать максимальное значение; в другой таблице (например, в таблице с ячейками R18:AG33) мы будем считать минимальное значение.

Для решения данной задачи мы воспользуемся методом динамического программирования, чтобы найти значения в каждой ячейке. Сначала работаем в таблице, в которой посчитаем максимальную сумму. В ячейке R1 запишем число 65, которое мы перенесли из исходной таблицы. В ячейке S1 запишем формулу =R1+B1, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вправо. Тянем за правый нижний угол ячейки S1 до ячейки AG1 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вправо. В ячейке R2 запишем формулу =R1+A2, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вниз. Тянем за правый нижний угол ячейки R2 до ячейки R16 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вниз.

В ячейке S2 запишем формулу =B2+МАКС(S1;R2), чтобы посчитать максимальное количество монет, которое Робот может собрать, когда дойдёт до этой ячейки. Тянем за правый нижний угол ячейки S2 до ячейки AG2 включительно, а затем тянем за правый нижний угол ячейки AG2 до ячейки AG16 включительно, чтобы посчитать максимальное количество монет, которое Робот соберёт, когда дойдёт до конечной клетки. В ячейке AG16 получится число 2361, которое пойдёт в ответ.

Аналогичным образом заполняем таблицу с ячейками R18:AG33, но вместо формулы =B2+МАКС(S18;R19) записываем формулу =B2+МИН(S18;R19, чтобы посчитать минимальное количество монет, которое может собрать Робот на каждой клетке. В ячейке AG33 получится число 1088, которое пойдёт в ответ.

В ответ мы записываем без пробелов сначала максимальное количество монет, а потом минимальное. Получается ответ 23611088.

Ответ: 23611088
Показать решение
Бесплатный интенсив

Задача 6

Квадрат разлинован на N*N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз - в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит моента достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.

Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа без пробела - сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N*N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

51 21 93 48
57 43 97 51
63 16 31 16
10 57 64 25

Для указанных входных данных ответом будет пара чисел 382203.

Решение

Откроем файл электронной таблицы. В свободной области начертим две таблицы того же размера, что и исходная (в нашем случае это размер 15*15). В одной из таблиц (например, таблица с ячейками Q1:AE15) мы будем считать максимальное значение; в другой таблице (например, в таблице с ячейками Q17:AE31) мы будем считать минимальное значение.

Для решения данной задачи мы воспользуемся методом динамического программирования, чтобы найти значения в каждой ячейке. Сначала работаем в таблице, в которой посчитаем максимальную сумму. В ячейке Q1 запишем число 28, которое мы перенесли из исходной таблицы. В ячейке R1 запишем формулу =Q1+B1, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вправо. Тянем за правый нижний угол ячейки R1 до ячейки AE1 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вправо. В ячейке Q2 запишем формулу =Q1+A2, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вниз. Тянем за правый нижний угол ячейки P2 до ячейки P14 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вниз.

В ячейке R2 запишем формулу =B2+МАКС(R1;Q2), чтобы посчитать максимальное количество монет, которое Робот может собрать, когда дойдёт до этой ячейки. Тянем за правый нижний угол ячейки R2 до ячейки AE2 включительно, а затем тянем за правый нижний угол ячейки AE2 до ячейки AE15 включительно, чтобы посчитать максимальное количество монет, которое Робот соберёт, когда дойдёт до конечной клетки. В ячейке AE15 получится число 2057, которое пойдёт в ответ.

Аналогичным образом заполняем таблицу с ячейками Q17:AE31, но вместо формулы =B2+МАКС(R17;Q18) записываем формулу =B2+МИН(R17;Q18), чтобы посчитать минимальное количество монет, которое может собрать Робот на каждой клетке. В ячейке AE31 получится число 699, которое пойдёт в ответ.

В ответ мы записываем без пробелов сначала максимальное количество монет, а потом минимальное. Получается ответ 2057699.

Ответ: 2057699
Показать решение
Бесплатный интенсив

Задача 7

Квадрат разлинован на N*N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз - в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит моента достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.

Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа без пробела - сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N*N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

51 21 93 48
57 43 97 51
63 16 31 16
10 57 64 25

Для указанных входных данных ответом будет пара чисел 382203.

Решение

Откроем файл электронной таблицы. В свободной области начертим две таблицы того же размера, что и исходная (в нашем случае это размер 14*14). В одной из таблиц (например, таблица с ячейками P1:AC14) мы будем считать максимальное значение; в другой таблице (например, в таблице с ячейками P16:AC29) мы будем считать минимальное значение.

Для решения данной задачи мы воспользуемся методом динамического программирования, чтобы найти значения в каждой ячейке. Сначала работаем в таблице, в которой посчитаем максимальную сумму. В ячейке P1 запишем число 43, которое мы перенесли из исходной таблицы. В ячейке Q1 запишем формулу =P1+B1, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вправо. Тянем за правый нижний угол ячейки Q1 до ячейки AC1 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вправо. В ячейке P2 запишем формулу =P1+A2, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вниз. Тянем за правый нижний угол ячейки P2 до ячейки P14 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вниз.

В ячейке Q2 запишем формулу =B2+МАКС(Q1;P2), чтобы посчитать максимальное количество монет, которое Робот может собрать, когда дойдёт до этой ячейки. Тянем за правый нижний угол ячейки Q2 до ячейки AC2 включительно, а затем тянем за правый нижний угол ячейки AC2 до ячейки AC14 включительно, чтобы посчитать максимальное количество монет, которое Робот соберёт, когда дойдёт до конечной клетки. В ячейке AC14 получится число 1865, которое пойдёт в ответ.

Аналогичным образом заполняем таблицу с ячейками P16:AC29, но вместо формулы =B2+МАКС(Q16;P17) записываем формулу =B2+МИН(Q16;P17), чтобы посчитать минимальное количество монет, которое может собрать Робот на каждой клетке. В ячейке AC29 получится число 954, которое пойдёт в ответ.

В ответ мы записываем без пробелов сначала максимальное количество монет, а потом минимальное. Получается ответ 1865954.

Ответ: 1865954
Показать решение
Бесплатный интенсив

Задача 8

Квадрат разлинован на N*N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз - в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит моента достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.

Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа без пробела - сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N*N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

51 21 93 48
57 43 97 51
63 16 31 16
10 57 64 25

Для указанных входных данных ответом будет пара чисел 382203.

Решение

Откроем файл электронной таблицы. В свободной области начертим две таблицы того же размера, что и исходная (в нашем случае это размер 13*13). В одной из таблиц (например, таблица с ячейками O1:AA13) мы будем считать максимальное значение; в другой таблице (например, в таблице с ячейками O15:AA27) мы будем считать минимальное значение.

Для решения данной задачи мы воспользуемся методом динамического программирования, чтобы найти значения в каждой ячейке. Сначала работаем в таблице, в которой посчитаем максимальную сумму. В ячейке O1 запишем число 45, которое мы перенесли из исходной таблицы. В ячейке P1 запишем формулу =O1+B1, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вправо. Тянем за правый нижний угол ячейки P1 до ячейки AA1 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вправо. В ячейке O2 запишем формулу =O1+A2, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вниз. Тянем за правый нижний угол ячейки O2 до ячейки O13 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вниз.

В ячейке P2 запишем формулу =B2+МАКС(P1;O2), чтобы посчитать максимальное количество монет, которое Робот может собрать, когда дойдёт до этой ячейки. Тянем за правый нижний угол ячейки P2 до ячейки AA2 включительно, а затем тянем за правый нижний угол ячейки AA2 до ячейки AA13 включительно, чтобы посчитать максимальное количество монет, которое Робот соберёт, когда дойдёт до конечной клетки. В ячейке Y12 получится число 1619, которое пойдёт в ответ.

Аналогичным образом заполняем таблицу с ячейками O15:AA27, но вместо формулы =B2+МАКС(P15;O16) записываем формулу =B2+МИН(P15;O16), чтобы посчитать минимальное количество монет, которое может собрать Робот на каждой клетке. В ячейке AA27 получится число 871, которое пойдёт в ответ.

В ответ мы записываем без пробелов сначала максимальное количество монет, а потом минимальное. Получается ответ 1619871.

Ответ: 1619871
Показать решение
Бесплатный интенсив

Задача 9

Квадрат разлинован на N*N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз - в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит моента достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.

Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа без пробела - сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N*N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

51 21 93 48
57 43 97 51
63 16 31 16
10 57 64 25

Для указанных входных данных ответом будет пара чисел 459203.

Решение

Откроем файл электронной таблицы. В свободной области начертим две таблицы того же размера, что и исходная (в нашем случае это размер 11*11). В одной из таблиц (например, таблица с ячейками M1:W11) мы будем считать максимальное значение; в другой таблице (например, в таблице с ячейками M13:W23) мы будем считать минимальное значение.

Для решения данной задачи мы воспользуемся методом динамического программирования, чтобы найти значения в каждой ячейке. Сначала работаем в таблице, в которой посчитаем максимальную сумму. В ячейке M1 запишем число 94, которое мы перенесли из исходной таблицы. В ячейке N1 запишем формулу =M1+B1, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вправо. Тянем за правый нижний угол ячейки N1 до ячейки W1 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вправо. В ячейке M2 запишем формулу =M1+A2, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вниз. Тянем за правый нижний угол ячейки M2 до ячейки M11 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вниз.

В ячейке N2 запишем формулу =B2+МАКС(N1;M2), чтобы посчитать максимальное количество монет, которое Робот может собрать, когда дойдёт до этой ячейки. Тянем за правый нижний угол ячейки N2 до ячейки W2 включительно, а затем тянем за правый нижний угол ячейки W2 до ячейки W11 включительно, чтобы посчитать максимальное количество монет, которое Робот соберёт, когда дойдёт до конечной клетки. В ячейке W11 получится число 1713, которое пойдёт в ответ.

Аналогичным образом заполняем таблицу с ячейками M13:W23, но вместо формулы =B2+МАКС(N13;M14) записываем формулу =B2+МИН(N13;M14), чтобы посчитать минимальное количество монет, которое может собрать Робот на каждой клетке. В ячейке W23 получится число 1023, которое пойдёт в ответ.

В ответ мы записываем без пробелов сначала максимальное количество монет, а потом минимальное. Получается ответ 17131023.

Ответ: 17131023
Показать решение
Бесплатный интенсив

Задача 10

Квадрат разлинован на N*N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз - в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит моента достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.

Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа без пробела - сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N*N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

51 21 93 48
57 43 97 51
63 16 31 16
10 57 64 25

Для указанных входных данных ответом будет пара чисел 382203.

Решение

Откроем файл электронной таблицы. В свободной области начертим две таблицы того же размера, что и исходная (в нашем случае это размер 10*10). В одной из таблиц (например, таблица с ячейками L1:U10) мы будем считать максимальное значение; в другой таблице (например, в таблице с ячейками L12:U21) мы будем считать минимальное значение.

Для решения данной задачи мы воспользуемся методом динамического программирования, чтобы найти значения в каждой ячейке. Сначала работаем в таблице, в которой посчитаем максимальную сумму. В ячейке L1 запишем число 100, которое мы перенесли из исходной таблицы. В ячейке M1 запишем формулу =L1+B1, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вправо. Тянем за правый нижний угол ячейки M1 до ячейки U1 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вправо. В ячейке L2 запишем формулу =L1+A2, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вниз. Тянем за правый нижний угол ячейки L2 до ячейки L10 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вниз.

В ячейке M2 запишем формулу =B2+МАКС(M1;L2), чтобы посчитать максимальное количество монет, которое Робот может собрать, когда дойдёт до этой ячейки. Тянем за правый нижний угол ячейки M2 до ячейки U2 включительно, а затем тянем за правый нижний угол ячейки U2 до ячейки U10 включительно, чтобы посчитать максимальное количество монет, которое Робот соберёт, когда дойдёт до конечной клетки. В ячейке U10 получится число 1308, которое пойдёт в ответ.

Аналогичным образом заполняем таблицу с ячейками L12:U21, но вместо формулы =B2+МАКС(M12;L13) записываем формулу =B2+МИН(M12;L13), чтобы посчитать минимальное количество монет, которое может собрать Робот на каждой клетке. В ячейке U21 получится число 644, которое пойдёт в ответ.

В ответ мы записываем без пробелов сначала максимальное количество монет, а потом минимальное. Получается ответ 1308644.

Ответ: 1308644
Показать решение
Бесплатный интенсив

Задача 11

Квадрат разлинован на N*N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз - в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит моента достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.

Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа без пробела - сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N*N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

51 21 93 48
57 43 97 51
63 16 31 16
10 57 64 25

Для указанных входных данных ответом будет пара чисел 382203.

Решение

Откроем файл электронной таблицы. В свободной области начертим две таблицы того же размера, что и исходная (в нашем случае это размер 8*8). В одной из таблиц (например, таблица с ячейками J1:Q8) мы будем считать максимальное значение; в другой таблице (например, в таблице с ячейками J10:Q17) мы будем считать минимальное значение.

Для решения данной задачи мы воспользуемся методом динамического программирования, чтобы найти значения в каждой ячейке. Сначала работаем в таблице, в которой посчитаем максимальную сумму. В ячейке J1 запишем число 23, которое мы перенесли из исходной таблицы. В ячейке K1 запишем формулу =J1+B1, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вправо. Тянем за правый нижний угол ячейки J1 до ячейки Q1 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вправо. В ячейке J2 запишем формулу =J1+A2, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вниз. Тянем за правый нижний угол ячейки J2 до ячейки J8 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вниз.

В ячейке K2 запишем формулу =B2+МАКС(K1;J2), чтобы посчитать максимальное количество монет, которое Робот может собрать, когда дойдёт до этой ячейки. Тянем за правый нижний угол ячейки K2 до ячейки Q2 включительно, а затем тянем за правый нижний угол ячейки Q2 до ячейки Q8 включительно, чтобы посчитать максимальное количество монет, которое Робот соберёт, когда дойдёт до конечной клетки. В ячейке Q8 получится число 978, которое пойдёт в ответ.

Аналогичным образом заполняем таблицу с ячейками J10:Q17, но вместо формулы =B2+МАКС(K10;J11) записываем формулу =B2+МИН(K10;J11), чтобы посчитать минимальное количество монет, которое может собрать Робот на каждой клетке. В ячейке Q17 получится число 434, которое пойдёт в ответ.

В ответ мы записываем без пробелов сначала максимальное количество монет, а потом минимальное. Получается ответ 978434.

Ответ: 978434
Показать решение
Бесплатный интенсив

Задача 12

Квадрат разлинован на N*N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз - в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит моента достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.

Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа без пробела - сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N*N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

51 21 93 48
57 43 97 51
63 16 31 16
10 57 64 25

Для указанных входных данных ответом будет пара чисел 382203.

Решение

Откроем файл электронной таблицы. В свободной области начертим две таблицы того же размера, что и исходная (в нашем случае это размер 8*8). В одной из таблиц (например, таблица с ячейками J1:Q8) мы будем считать максимальное значение; в другой таблице (например, в таблице с ячейками J10:Q17) мы будем считать минимальное значение.

Для решения данной задачи мы воспользуемся методом динамического программирования, чтобы найти значения в каждой ячейке. Сначала работаем в таблице, в которой посчитаем максимальную сумму. В ячейке J1 запишем число 8, которое мы перенесли из исходной таблицы. В ячейке K1 запишем формулу =J1+B1, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вправо. Тянем за правый нижний угол ячейки J1 до ячейки Q1 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вправо. В ячейке J2 запишем формулу =J1+A2, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вниз. Тянем за правый нижний угол ячейки J2 до ячейки J8 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вниз.

В ячейке K2 запишем формулу =B2+МАКС(K1;J2), чтобы посчитать максимальное количество монет, которое Робот может собрать, когда дойдёт до этой ячейки. Тянем за правый нижний угол ячейки K2 до ячейки Q2 включительно, а затем тянем за правый нижний угол ячейки Q2 до ячейки Q8 включительно, чтобы посчитать максимальное количество монет, которое Робот соберёт, когда дойдёт до конечной клетки. В ячейке Q8 получится число 850, которое пойдёт в ответ.

Аналогичным образом заполняем таблицу с ячейками J10:Q17, но вместо формулы =B2+МАКС(K10;J11) записываем формулу =B2+МИН(K10;J11), чтобы посчитать минимальное количество монет, которое может собрать Робот на каждой клетке. В ячейке Q17 получится число 432, которое пойдёт в ответ.

В ответ мы записываем без пробелов сначала максимальное количество монет, а потом минимальное. Получается ответ 850432.

Ответ: 850432
Показать решение
Бесплатный интенсив

Задача 13

Квадрат разлинован на N*N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз - в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит моента достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.

Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа без пробела - сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N*N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

51 21 93 48
57 43 97 51
63 16 31 16
10 57 64 25

Для указанных входных данных ответом будет пара чисел 382203.

Решение

Откроем файл электронной таблицы. В свободной области начертим две таблицы того же размера, что и исходная (в нашем случае это размер 7*7). В одной из таблиц (например, таблица с ячейками I1:O7) мы будем считать максимальное значение; в другой таблице (например, в таблице с ячейками I9:O15) мы будем считать минимальное значение.

Для решения данной задачи мы воспользуемся методом динамического программирования, чтобы найти значения в каждой ячейке. Сначала работаем в таблице, в которой посчитаем максимальную сумму. В ячейке I1 запишем число 19, которое мы перенесли из исходной таблицы. В ячейке J1 запишем формулу =I1+B1, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вправо. Тянем за правый нижний угол ячейки J1 до ячейки O1 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вправо. В ячейке I2 запишем формулу =I1+A2, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вниз. Тянем за правый нижний угол ячейки J2 до ячейки L1 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вниз.

В ячейке J2 запишем формулу =B2+МАКС(J1;I2), чтобы посчитать максимальное количество монет, которое Робот может собрать, когда дойдёт до этой ячейки. Тянем за правый нижний угол ячейки J2 до ячейки O2 включительно, а затем тянем за правый нижний угол ячейки O2 до ячейки O7 включительно, чтобы посчитать максимальное количество монет, которое Робот соберёт, когда дойдёт до конечной клетки. В ячейке O7 получится число 806, которое пойдёт в ответ.

Аналогичным образом заполняем таблицу с ячейками I9:O15, но вместо формулы =B2+МАКС(J9;I10) записываем формулу =B2+МИН(J9;I10), чтобы посчитать минимальное количество монет, которое может собрать Робот на каждой клетке. В ячейке O15 получится число 403, которое пойдёт в ответ.

В ответ мы записываем без пробелов сначала максимальное количество монет, а потом минимальное. Получается ответ 806403.

Ответ: 806376
Показать решение
Бесплатный интенсив

Задача 14

Квадрат разлинован на N*N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз - в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит моента достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.

Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа без пробела - сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N*N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

51 21 93 48
57 43 97 51
63 16 31 16
10 57 64 25

Для указанных входных данных ответом будет пара чисел 382203.

Решение

Откроем файл электронной таблицы. В свободной области начертим две таблицы того же размера, что и исходная (в нашем случае это размер 5*5). В одной из таблиц (например, таблица с ячейками H1:L5) мы будем считать максимальное значение; в другой таблице (например, в таблице с ячейками H7:L11) мы будем считать минимальное значение.

Для решения данной задачи мы воспользуемся методом динамического программирования, чтобы найти значения в каждой ячейке. Сначала работаем в таблице, в которой посчитаем максимальную сумму. В ячейке H1 запишем число 19, которое мы перенесли из исходной таблицы. В ячейке I1 запишем формулу =H1+B1, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вправо. Тянем за правый нижний угол ячейки I1 до ячейки L1 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вправо. В ячейке H2 запишем формулу =H1+A2, чтобы посчитать, какую сумму монет соберёт Робот, если сделает шаг вниз. Тянем за правый нижний угол ячейки H2 до ячейки L1 включительно, чтобы посчитать, сколько Робот соберёт монет, если пойдёт до упора вниз.

В ячейке I2 запишем формулу =B2+МАКС(I1;H2), чтобы посчитать максимальное количество монет, которое Робот может собрать, когда дойдёт до этой ячейки. Тянем за правый нижний угол ячейки I2 до ячейки L2 включительно, а затем тянем за правый нижний угол ячейки L2 до ячейки L5 включительно, чтобы посчитать максимальное количество монет, которое Робот соберёт, когда дойдёт до конечной клетки. В ячейке L5 получится число 496, которое пойдёт в ответ.

Аналогичным образом заполняем таблицу с ячейками H7:L11, но вместо формулы =B2+МАКС(I7;H8) записываем формулу =B2+МИН(I7;H8), чтобы посчитать минимальное количество монет, которое может собрать Робот на каждой клетке. В ячейке L11 получится число 336, которое пойдёт в ответ.

В ответ мы записываем без пробелов сначала максимальное количество монет, а потом минимальное. Получается ответ 496336.

Ответ: 496336
Показать решение
Бесплатный интенсив
Показать еще

Теория для 18 задания ЕГЭ по информатике


Основная тема задания №18 — алгебра логики. С неё и начнём. Для успешного решения номера вам важно знать 3 теоретических момента:

  1. Основные логические операции
  2. Порядок логических операций
  3. Законы логики

Основные логические операции

1. Инверсия «НЕ»
Логическое отрицание
Обозначения: ¬А, Ā
Меняет значение на противоположное

Таблица истинности для инверсии
Таблица истинности для инверсии

2. Конъюнкция «И»
Логическое умножение
Обозначения: А∧В, А & В, А и В, AB
Принимает значение «истина», когда все значения единицы.
Хотя бы один 0 обнуляет всё.

Таблица истинности для конъюнкции
Таблица истинности для конъюнкции

3. Дизъюнкция «ИЛИ»
Логическое сложение
Обозначения: А∨В, А | В, А или В
Принимает значение «истина», когда хотя бы одна единица. «Ложь», когда все нули.

Таблица истинности для дизъюнкции
Таблица истинности для дизъюнкции

4. Импликация "Если, то"
Следование
Обозначения: А→В, А => В
Из истины следует истина, из лжи что угодно

Таблица истинности для импликации
Таблица истинности для импликации

5. Эквивалентность «Равны»
Тождество
Обозначения: А≡В, А <=> В
Иcтина, когда значения одинаковы. Ложь, когда различны

Таблица истинности для эквивалентности
Таблица истинности для эквивалентности

Порядок логических операций

  1. Действия в скобках
  2. Инверсия
  3. Конъюнкция
  4. Дизъюнкция
  5. Импликация
  6. Эквивалентность

Законы логики

Законов логики существует огромное количество, но именно для ЕГЭ достаточно знать 10 законов из данной таблицы. Некоторые из них очевидные, некоторые придётся выучить.

Законы логики
Законы логики

Практика

В различных источниках и базах задач ЕГЭ по информатике вы можете встретить множество разных типов задания №18. Но важно понимать, что последние 3 года на ЕГЭ был ровно 1 тип, и он же представлен в Демо-версии 2020 года: алгебра логики и математические неравенства. Поэтому в данной статье разберём задания именно этого типа.

Подтип №1. Переменные x и y возможно рассмотреть отдельно

Пример задания:
Для какого наименьшего целого числа A выражение
((x · x < A)∨(x ≥ 8)) ∧ ((y · y < A) → (y < 8))
тождественно истинно (то есть принимает значение 1 при любых целых неотрицательных значениях переменных x и y)?

Решение:

Выражение состоит из двух больших скобок, между которыми стоит знак конъюнкции. Выражение должно быть тождественно истинно. Вспоминаем из теории, что конъюнкция истинна только тогда, когда обе скобки равны 1. Вывод:
(x · x < A) ∨ (x ≥ 8) ≡ 1
(y · y < A)→(y < 8) ≡ 1

Поскольку в первом выражении остались только иксы, а во втором только игреки, x и y можно рассматривать отдельно друг от друга.

Решим первое выражение. Оно должно быть истинным при любых иксах.(x · x < A) ∨ (x ≥ 8) ≡ 1

Заметим, что при x ≥ 8 (вторая скобка), выражение будет истинным, независимо от первой скобки, поскольку между ними стоит дизъюнкция. Нам необходимо покрыть все целые неотрицательные значения x, поэтому осталось покрыть значения x ⩽ 7 или x · x ⩽ 49.

Выражение x · x < A должно полностью покрыть все значения x·x ⩽ 49. Такое возможно, только если А будет > 49. Поскольку А целое, ответ на первое выражение: A ≥ 50.

Решим второе выражение. Оно должно быть истинным при любых игреках.
(y · y < A) → (y < 8) ≡ 1

Упростим его по закону преобразования импликации:
¬(y · y < A) ∨ (y < 8) ≡ 1
или
(y · y ≥ A) ∨ (y < 8) ≡ 1

Заметим, что при y < 8 (вторая скобка), выражение будет истинным, независимо от первой скобки, поскольку между ними стоит дизъюнкция. Нам необходимо покрыть все целые неотрицательные значения y, поэтому осталось покрыть значения y ≥ 8 или y · y ≥ 64.

Выражение y · y ≥ A должно полностью покрыть все значения y·y≥ 64. Такое возможно, только если А будет меньше либо равно 64. Ответ на второе выражение: А ⩽ 64.

Пересекаем решения A ≥ 50 и А ⩽ 64, ищем наименьшее А (по условию). Получаем ответ:
А = 50



Подтип №2. Переменные x и y необходимо рассматривать совместно

Пример задания:
Для какого наименьшего целого неотрицательно числа A выражение
(x + 2 · y ≤ A) ∨ (x > 25) ∨ (y > 12)
тождественно истинно (то есть принимает значение 1 при любых целых неотрицательных значениях переменных x и y)?

Заметим, что при x > 25 или при y > 12 наше выражение уже принимает значение истина, т.к. 3 скобки соединяет дизъюнкция, которая истинна, когда хотя бы одна скобка истинна.

Следовательно, первая скобка должна покрывать область, когда x ⩽ 25 и y ⩽ 12. Подставим граничные значения x = 25 и y = 12 в первую скобку. Получим:
25 + 2 · 12 ≤ A
49 ≤ A
А ≥ 49

Нас интересует наименьшее целое А. Получаем ответ:
А = 49

Бесплатный интенсив по информатике

3 огненных вебинара, домашние задания, беседа курса, личный кабинет, связь с преподавателем и многое другое.
Курс стартует 26 июля.

Бесплатный интенсив