Статья Автор: Черединкин Глеб

4

Пропустить Навигационные Ссылки.
1. Найти Максимум, про монеты
Изменено 11:52
2.Минимум справа сверху если он идет вниз
Изменено 11:52
3. конь найти количество путей в точку [C][Д]
Изменено 11:52
4.Таблицы максимум (2 операции)
5.Стенки (3 операции)
#N1
'''
N,M = map(int, input().split())
dp = []
for i in range(N):
    x = [1]*M
    dp.append(x)
for i in range(1,N):
    for j in range(1, M):
        dp[i][j] = dp[i-1][j]+dp[i][j-1]
print(dp[N-1][M-1])
'''

#N2
'''
N,M = map(int, input().split())
a = []
for i in range(N):
    x = list(map(int, input().split()))
    a.append(x)
dp = []
for i in range(N):
    x = [0]*M
    dp.append(x)
dp[0][0]=a[0][0]
for i in range(1,M):
    dp[0][i] = a[0][i]+dp[0][i-1]
for i in range(1,N):
    dp[i][0] = a[i][0]+dp[i-1][0]    
for i in range(1,N):
    for j in range(1,M):
        dp[i][j] = a[i][j] + min(dp[i-1][j],dp[i][j-1])
print(dp[N-1][M-1])
'''
#N3
'''
N,M = map(int, input().split())
a = []
for i in range(N):
    x = list(map(int, input().split()))
    a.append(x)
dp = []
for i in range(N):
    x = [0]*M
    dp.append(x)
dp[0][0]=a[0][0]
for i in range(1,M):
    dp[0][i] = a[0][i]+dp[0][i-1]
for i in range(1,N):
    dp[i][0] = a[i][0]+dp[i-1][0]
for i in range(1,N):
    for j in range(1,M):
        dp[i][j] = a[i][j] + max(dp[i-1][j],dp[i][j-1])
print(dp[N-1][M-1])
path = []
i = N-1
j = M-1
while i != 0 or j != 0:
    if i == 0:
        path.append('R')
        j-=1
    elif j == 0:
        path.append('D')
        i-=1
    else:
        if dp[i-1][j]>dp[i][j-1]:
            path.append('D')
            i-=1
        else:
            path.append('R')
            j-=1
path.reverse()
print(*path)
'''

#N4
'''
N = int(input())
if N!=0:
    dp = [[1]]
    for i in range(2,N+1):
        x = [1]
        for j in range(1,i-1):
            x.append(dp[i-2][j]+dp[i-2][j-1])
        x.append(1)
        dp.append(x)
    for i in range(N):
        print(*dp[i])
'''

#N5
'''
N, M = map(int, input().split())
dp = []
for i in range(N):
    x = [0]*M
    dp.append(x)
dp[0][0]=1
for i in range(N):
    for j in range(M):
        if i >= 2 and j >= 1:
            dp[i][j] += dp[i-2][j-1]
        if i >= 1 and j >= 2:
            dp[i][j] += dp[i-1][j-2]
print(dp[N-1][M-1])
'''
от Черединкин Глеб 12.12.2025 12:59
Чтобы оставить комментарий нужна авторизация
Печать