Статья Автор: Емельянцев Андрей

андрей юпи

правый низ левый верх мин

 

N, M = map(int, input().split())

c = []

for z in range(N):

    c.append(list(map(int,input().split())))

dp = []

for q in range(M):

    dp.append([0]*M)

dp[0][0] = c[0][0]

for j in range(1, M):

    dp[0][j] = dp[0][j-1] + c[0][j]

for i in range(1, N):

    dp[i][0] = dp[i-1][0] + c[i][0]

for i in range(1, N):

    for j in range(1, M):

        dp[i][j] = min(dp[i-1][j], dp[i][j-1]) + c[i][j]

print(dp[N-1][M-1])

 

 

 

N, M = map(int, input().split())

c = []

for z in range(N):

    c.append(list(map(int,input().split())))

dp = []

for q in range(M):

    dp.append([0]*M)

dp[0][0] = c[0][0]

for j in range(1, M):

    dp[0][j] = dp[0][j-1] + c[0][j]

for i in range(1, N):

    dp[i][0] = dp[i-1][0] + c[i][0]

for i in range(1, N):

    for j in range(1, M):

        dp[i][j] = max(dp[i-1][j], dp[i][j-1]) + c[i][j]

print(dp[N-1][M-1])

 

 

левый низ правый верх 

 

N, M = map(int, input().split())

c = []

for _ in range(N):

    c.append(list(map(int, input().split())))

 

dp = []

for _ in range(N):

    dp.append([0] * M)

dp[N-1][0] = c[N-1][0]

for i in range(N-2, -1, -1):

    dp[i][0] = dp[i+1][0] + c[i][0]

for j in range(1, M):

    dp[N-1][j] = dp[N-1][j-1] + c[N-1][j]

for i in range(N-2, -1, -1):

    for j in range(1, M):

        dp[i][j] = max(dp[i+1][j], dp[i][j-1]) + c[i][j]

 

print(dp[0][M-1])

 

N, M = map(int, input().split())

c = []

for _ in range(N):

    c.append(list(map(int, input().split())))

 

dp = []

for _ in range(N):

    dp.append([0] * M)

dp[N-1][0] = c[N-1][0]

for i in range(N-2, -1, -1):

    dp[i][0] = dp[i+1][0] + c[i][0]

for j in range(1, M):

    dp[N-1][j] = dp[N-1][j-1] + c[N-1][j]

for i in range(N-2, -1, -1):

    for j in range(1, M):

        dp[i][j] = min(dp[i+1][j], dp[i][j-1]) + c[i][j]

 

print(dp[0][M-1])

 

 

левый верх правый низ 

 

N, M = map(int, input().split())

c = []

for z in range(N):

    c.append(list(map(int, input().split())))

 

dp = []

for q in range(N):

    dp.append([0] * M)

 

dp[0][0] = c[0][0]

 

for j in range(1, M):

    dp[0][j] = dp[0][j-1] + c[0][j]

 

for i in range(1, N):

    dp[i][0] = dp[i-1][0] + c[i][0]

 

for i in range(1, N):

    for j in range(1, M):

        dp[i][j] = max(dp[i-1][j], dp[i][j-1]) + c[i][j]

 

print(dp[N-1][M-1])

 

 

N, M = map(int, input().split())

c = []

for z in range(N):

    c.append(list(map(int, input().split())))

 

dp = []

for q in range(N):

    dp.append([0] * M)

 

dp[0][0] = c[0][0]

 

for j in range(1, M):

    dp[0][j] = dp[0][j-1] + c[0][j]

 

for i in range(1, N):

    dp[i][0] = dp[i-1][0] + c[i][0]

 

for i in range(1, N):

    for j in range(1, M):

        dp[i][j] = min(dp[i-1][j], dp[i][j-1]) + c[i][j]

 

print(dp[N-1][M-1])

 

 

правый верх левый вниз

 

 

N, M = map(int, input().split())

c = []

for z in range(N):

    c.append(list(map(int, input().split())))

dp = []

for q in range(N):

    dp.append([0] * M)

dp[0][M-1] = c[0][M-1]

for j in range(M-2, -1, -1):

    dp[0][j] = dp[0][j+1] + c[0][j]

for i in range(1, N):

    dp[i][M-1] = dp[i-1][M-1] + c[i][M-1]

for i in range(1, N):

    for j in range(M-2, -1, -1):

        dp[i][j] = min(dp[i-1][j], dp[i][j+1]) + c[i][j]

print(dp[N-1][0])

 

 

N, M = map(int, input().split())

c = []

for z in range(N):

    c.append(list(map(int, input().split())))

dp = []

for q in range(N):

    dp.append([0] * M)

dp[0][M-1] = c[0][M-1]

for j in range(M-2, -1, -1):

    dp[0][j] = dp[0][j+1] + c[0][j]

for i in range(1, N):

    dp[i][M-1] = dp[i-1][M-1] + c[i][M-1]

for i in range(1, N):

    for j in range(M-2, -1, -1):

        dp[i][j] = max(dp[i-1][j], dp[i][j+1]) + c[i][j]

print(dp[N-1][0])

Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать