結果

問題 No.34 砂漠の行商人
ユーザー ntuda
提出日時 2025-02-06 21:12:24
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 111 ms / 5,000 ms
コード長 667 bytes
コンパイル時間 514 ms
コンパイル使用メモリ 82,236 KB
実行使用メモリ 73,984 KB
最終ジャッジ日時 2025-02-06 21:12:30
合計ジャッジ時間 4,000 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 26
権限があれば一括ダウンロードができます

ソースコード

diff #

N,V,Sy,Sx,Gy,Gx = map(int,input().split())
L = [list(map(int,input().split())) for _ in range(N)]
Sx -= 1
Sy -= 1
Gx -= 1
Gy -= 1
D = [[0] * N for _ in range(N)]
D[Sx][Sy] = V
Q = [(Sx,Sy)]
Q2 = []
dir = [[0,1],[1,0],[-1,0],[0,-1]]
cnt = 0
while Q:
    while Q:
        x, y = Q.pop()
        if (x, y) == (Gx,Gy):
            print(cnt)
            exit()
        for xd, yd in dir:
            x1 = x + xd
            y1 = y + yd
            if 0 <= x1 < N and 0 <= y1 < N:
                tmp = D[x][y] - L[x1][y1]
                if D[x1][y1] < tmp:
                    D[x1][y1] = tmp
                    Q2.append((x1,y1))
    Q,Q2 = Q2,Q
    cnt += 1
print(-1)
0