Так как речь идет о таблице, то лучше перебрать рекурсивно. Логично , что количество путей для клетки (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))
Это если полностью опираться на условие:
#include <iostream>
using namespace std;
int main() {
int arr[10];
for (int i = 0; i < 10; i++) {
arr[i] = 0;
}
for (int i = 1; i < 10; i += 2) {
arr[i] = 1;
}
for (int i = 0; i < 10; i++) {
cout << arr[i];
}
return 0;
}
Можно сделать легче - не менять значения после заполнения массива, а сразу его наполнять нулями и единицами:
#include <iostream>
using namespace std;
int main() {
int arr[10];
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
arr[i] = 0;
}
else {
arr[i] = 1;
}
cout << arr[i];
}
return 0;
}
Компьютер, робот адамдарға көмек беру үшін ойлап табылған. Компьютер бізге көп ақпарат алуға мүмкіндік береді. Кейбір роботтар үй жинайды. Ал біз компьютердің ұзаққа жарауын қамтамасыз етеміз. Адам мен компьютер арасындағы қатынас осындай.
Объяснение:
Осылай жазуға болатын шығар? Дұрыс па оны білмеймін.