М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
AnastasiaVolk534
AnastasiaVolk534
05.01.2023 12:55 •  Информатика

Количество маршрутов в прямоугольной таблице В прямоугольной таблице N×M вначале игрок находится в левой верхней клетке. За один ход ему разрешается перемещаться в соседнюю клетку либо вправо, либо вниз (влево и вверх перемещаться запрещено). Посчитайте, сколько есть у игрока попасть в правую нижнюю клетку.

👇
Ответ:

На скриншоте ====================


Количество маршрутов в прямоугольной таблице В прямоугольной таблице N×M вначале игрок находится в л
Количество маршрутов в прямоугольной таблице В прямоугольной таблице N×M вначале игрок находится в л
Количество маршрутов в прямоугольной таблице В прямоугольной таблице N×M вначале игрок находится в л
4,4(47 оценок)
Ответ:
k1122
k1122
05.01.2023

Так как речь идет о таблице, то лучше перебрать рекурсивно. Логично , что количество путей для клетки (i,j) - это количество путей для правой соседней клетки + количество путей для нижней соседней клетки.

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

(Иллюстрация 3 - таблица кэша)

Иллюстрации кода и возможного вывода прикреплены в дополнительных материалах.

========================

Ваши оценки и отзывы позволяют лучше оценить качество ответа.

Если ответ удовлетворил, не забудь отметить его как "Лучший".

Успехов в учёбе!

========================

Код:

cache = {}

def calculate_max_way_price(x: int, y: int, m:int, n:int):

   if (x, y) in cache:

       return cache[(x, y)]

   x_way, y_way = 0, 0

   if x < m - 1:

       x_way = calculate_max_way_price(x + 1, y, m, n)

   if y < n - 1:

       y_way = calculate_max_way_price(x, y + 1, m, n)

   if x == m - 1 and y == n - 1:

       cache[(x, y)] = 1

       return 1

   cache[(x, y)] = x_way + y_way

   return x_way + y_way

N = int(input("Enter N value: "))

M = int(input("Enter M value: "))

print(calculate_max_way_price(0, 0, N, M))


Количество маршрутов в прямоугольной таблице В прямоугольной таблице N×M вначале игрок находится в л
4,4(68 оценок)
Открыть все ответы
Ответ:
буря4
буря4
05.01.2023

 Задача нелогичная, получается, что он должен обучиться 5 операциям (4 действия и числа), на все эо дано 3 месяца. 

1. Пусть за 1й мес он выучит числа - то есть 1 операцию.

2. За 2й мес он выучит + или -, то есть 1 операцию.

3. За 3й мес он выучит или -, или *, или : ЛИБО или +, или *, или : - то есть 1 операцию.

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

ответ: не успеет, ему необходимо 5 месяцев либо увеличить количество операций, изучаемыз в месяц.

Как-то так я думаю

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4,4(71 оценок)
Ответ:
Polina8Let
Polina8Let
05.01.2023

 Задача нелогичная, получается, что он должен обучиться 5 операциям (4 действия и числа), на все эо дано 3 месяца. 

1. Пусть за 1й мес он выучит числа - то есть 1 операцию.

2. За 2й мес он выучит + или -, то есть 1 операцию.

3. За 3й мес он выучит или -, или *, или : ЛИБО или +, или *, или : - то есть 1 операцию.

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

ответ: не успеет, ему необходимо 5 месяцев либо увеличить количество операций, изучаемыз в месяц.

Как-то так я думаю

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4,6(84 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ