結果

問題 No.1949 足し算するだけのパズルゲーム(2)
ユーザー ああいい
提出日時 2022-05-20 22:39:05
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 920 ms / 3,000 ms
コード長 745 bytes
コンパイル時間 150 ms
コンパイル使用メモリ 82,080 KB
実行使用メモリ 100,720 KB
最終ジャッジ日時 2024-09-20 08:57:21
合計ジャッジ時間 8,020 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 26
権限があれば一括ダウンロードができます

ソースコード

diff #

H,W,Y,X = map(int,input().split())
A = [list(map(int,input().split())) for _ in range(H)]

import heapq

now = A[Y - 1][X - 1]
memo = [[0] * W for _ in range(H)]
memo[Y - 1][X - 1] = 1
count = 1
q = []
l = [(-1,0),(1,0),(0,1),(0,-1)]
X -= 1
Y -= 1
for i,j in l:
    if 0 <= Y + i < H and 0 <= X + j < W:
        heapq.heappush(q,(A[Y + i][X + j],Y + i,X + j))
        memo[Y + i][X + j] = 1
import sys
while q:
    a,y,x = heapq.heappop(q)
    if a >= now:
        print('No')
        exit()
    now += a
    #memo[y][x] = 1
    for i,j in l:
        if 0 <= y + i < H and 0 <= x + j < W:
            if memo[y + i][x + j] == 0:
                memo[y + i][x + j] = 1
                heapq.heappush(q,(A[y + i][x + j],y + i,x + j))
print('Yes')
0