Овсянкина407
?>

Нужны все ответы на 'Людмила Евич: ЕГЭ-2020. Информатика и ИКТ. 20 тренировочных вариантов', только ответы.

Информатика

Ответы

Lenuschakova1982316

Так как речь идет о таблице, то лучше перебрать рекурсивно. Логично , что количество путей для клетки (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 вначале игрок находится в л
samsludmila
//так и не осознала как вводить функции с клавиатуры. С у учителя.
var b1,b2,b:boolean;

function imp(a, b : boolean) : boolean;
begin
imp:=(not a) or b;
end;

begin;
writeln('Implication');
For b1:=false to true do
For b2:=false to true do
writeln(b1:7,b2:7,imp(b1,b2):7);

writeln('not (x) or y');
For b1:=false to true do
For b2:=false to true do
writeln(b1:7,b2:7,((not b1) or b2):7);

For b1:=false to true do
For b2:=false to true do
if imp(b1,b2)<>((not b1) or b2) then
 begin;
  writeln('Не эквивалентны');
  exit;
 end;
writeln('Эквивалентны');
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Нужны все ответы на 'Людмила Евич: ЕГЭ-2020. Информатика и ИКТ. 20 тренировочных вариантов', только ответы.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Оксана759
Buninilya
qcrv15312
mrFuz
appmicom
alekbur
si0000
kristinmk
Rafigovich1267
dm1trviktor585
info2
Yelena-Svetlana
schumacher8
nadejdashin508
Zukhra Andreevich1040