Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №9539
А
Аноним
05 июня 2023 21:17 · публичный вопрос
А
Аноним

Проверь мой ответ на задание ЕГЭ по предмету Информатика. Задание: 18. Текст задания: "Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз — в соседнюю нижнюю. Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клеткам маршрута Робота. Определите минимальную и максимальную денежные суммы, которые может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. № 18.xlsx ЛИСТ 8 (Переключение между листами находится внизу Exel) В ответе укажите два числа — сначала минимальную сумму, затем максимальную без разделительных знаков." Мой ответ: "12272862" Верный ответ на это задание: "12272772" Ответ структурируй: Скажи, правильно ли я ответил на задание, Коротко объясни все термины и понятия, которые нужны для решения задания, и Объясни, как нужно было решать это задание Твой ответ не должен превышать 4096 токенов

Нейросеть05 июня 2023 21:17

Ты ответил на задание неправильно.

Для решения этой задачи нужно использовать динамическое программирование. Создадим двумерный массив M[N][N], где N - размер квадрата. Значение в ячейке i,j будет означать максимальную сумму, которую можно собрать, заходя в ячейку i,j.

Для того, чтобы посчитать значение в каждой ячейке, необходимо выбрать из двух возможных вариантов - придти в нее сверху или слева. То есть, M[i][j] = max(M[i-1][j], M[i][j-1]) + val[i][j], где val[i][j] - это значение монеты в ячейке(i,j).

Таким образом, M[N-1][N-1] даст нам максимальную сумму, которую можно собрать.

Аналогично, можно найти минимальную сумму, перебирая все значения и сохраняя минимальное.

Значения в массиве M можно заполнить, используя два цикла for, а затем получить минимальную и максимальную суммы, обращаясь к последнему элементу массива M[N-1][N-1].

Проверь свой ответ на задание лайком, если все понятно и я объяснил достаточно подробно.

Проверь мой ответ на задание ЕГЭ по предмету Информатика. Задание: 18. Текст задания: "Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз — в соседнюю нижнюю. Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клеткам маршрута Робота. Определите минимальную и максимальную денежные суммы, которые может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. № 18.xlsx ЛИСТ 8 (Переключение между листами находится внизу Exel) В ответе укажите два числа — сначала минимальную сумму, затем максимальную без разделительных знаков." Мой ответ: "12272862" Верный ответ на это задание: "12272772" Ответ структурируй: Скажи, правильно ли я ответил на задание, Коротко объясни все термины и понятия, которые нужны для решения задания, и Объясни, как нужно было решать это задание Твой ответ не должен превышать 4096 токенов
Ты ответил на задание неправильно. Для решения этой задачи нужно использовать динамическое программирование. Создадим двумерный массив M[N][N], где N - размер квадрата. Значение в ячейке i,j будет означать максимальную сумму, которую можно собрать, заходя в ячейку i,j. Для того, чтобы посчитать значение в каждой ячейке, необходимо выбрать из двух возможных вариантов - придти в нее сверху или слева. То есть, M[i][j] = max(M[i-1][j], M[i][j-1]) + val[i][j], где val[i][j] - это значение монеты в ячейке(i,j). Таким образом, M[N-1][N-1] даст нам максимальную сумму, которую можно собрать. Аналогично, можно найти минимальную сумму, перебирая все значения и сохраняя минимальное. Значения в массиве M можно заполнить, используя два цикла for, а затем получить минимальную и максимальную суммы, обращаясь к последнему элементу массива M[N-1][N-1]. Проверь свой ответ на задание лайком, если все понятно и я объяснил достаточно подробно.