結果

問題 No.1949 足し算するだけのパズルゲーム(2)
ユーザー ntudantuda
提出日時 2022-10-24 20:23:59
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,062 ms / 3,000 ms
コード長 877 bytes
コンパイル時間 448 ms
コンパイル使用メモリ 81,652 KB
実行使用メモリ 100,692 KB
最終ジャッジ日時 2024-07-02 23:20:51
合計ジャッジ時間 10,502 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 43 ms
54,656 KB
testcase_01 AC 43 ms
54,400 KB
testcase_02 AC 43 ms
54,400 KB
testcase_03 AC 43 ms
54,400 KB
testcase_04 AC 44 ms
54,620 KB
testcase_05 AC 47 ms
54,016 KB
testcase_06 AC 45 ms
54,272 KB
testcase_07 AC 561 ms
79,644 KB
testcase_08 AC 84 ms
76,928 KB
testcase_09 AC 579 ms
79,884 KB
testcase_10 AC 561 ms
79,848 KB
testcase_11 AC 638 ms
80,584 KB
testcase_12 AC 622 ms
80,780 KB
testcase_13 AC 656 ms
80,120 KB
testcase_14 AC 1,062 ms
100,484 KB
testcase_15 AC 1,054 ms
100,692 KB
testcase_16 AC 76 ms
77,360 KB
testcase_17 AC 453 ms
79,540 KB
testcase_18 AC 74 ms
77,344 KB
testcase_19 AC 45 ms
54,272 KB
testcase_20 AC 44 ms
54,400 KB
testcase_21 AC 45 ms
54,272 KB
testcase_22 AC 505 ms
80,016 KB
testcase_23 AC 43 ms
54,400 KB
testcase_24 AC 363 ms
79,708 KB
testcase_25 AC 560 ms
79,908 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import heapq
from collections import deque

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

now = A[Y - 1][X - 1]
A[Y - 1][X - 1] = 0
dir = [[0, 1], [1, 0], [0, -1], [-1, 0]]
cnt = 1
Q = deque([(Y - 1, X - 1)])
Q2 = []
flag = 1
while flag:
    flag = 0
    while Q:
        i, j = Q.pop()
        for di, dj in dir:
            i2 = i + di
            j2 = j + dj
            if 0 <= i2 < H and 0 <= j2 < W:
                if A[i2][j2] > 0:
                    heapq.heappush(Q2, (A[i2][j2], i2, j2))
                    A[i2][j2] = 0
    while Q2:
        a, i, j = heapq.heappop(Q2)
        if a < now:
            flag = 1
            now += a
            Q.append((i, j))
            cnt += 1
        else:
            heapq.heappush(Q2, (a, i, j))
            break

if cnt == H * W:
    print("Yes")
else:
    print("No")
0