結果

問題 No.323 yuki国
ユーザー ynyn
提出日時 2016-06-11 17:35:24
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 3,655 ms / 5,000 ms
コード長 1,155 bytes
コンパイル時間 169 ms
コンパイル使用メモリ 82,176 KB
実行使用メモリ 146,496 KB
最終ジャッジ日時 2024-10-09 12:57:13
合計ジャッジ時間 59,844 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 66 ms
67,584 KB
testcase_01 AC 112 ms
78,960 KB
testcase_02 AC 66 ms
67,072 KB
testcase_03 AC 247 ms
81,172 KB
testcase_04 AC 140 ms
79,616 KB
testcase_05 AC 161 ms
79,744 KB
testcase_06 AC 139 ms
79,912 KB
testcase_07 AC 67 ms
67,584 KB
testcase_08 AC 2,939 ms
142,560 KB
testcase_09 AC 3,103 ms
142,868 KB
testcase_10 AC 65 ms
67,200 KB
testcase_11 AC 121 ms
79,476 KB
testcase_12 AC 118 ms
78,848 KB
testcase_13 AC 3,139 ms
143,432 KB
testcase_14 AC 3,091 ms
144,848 KB
testcase_15 AC 2,683 ms
139,068 KB
testcase_16 AC 3,000 ms
143,680 KB
testcase_17 AC 3,214 ms
144,412 KB
testcase_18 AC 970 ms
97,948 KB
testcase_19 AC 1,883 ms
118,816 KB
testcase_20 AC 3,242 ms
145,148 KB
testcase_21 AC 3,292 ms
146,496 KB
testcase_22 AC 3,655 ms
146,332 KB
testcase_23 AC 3,246 ms
146,104 KB
testcase_24 AC 2,609 ms
137,980 KB
testcase_25 AC 2,574 ms
137,296 KB
testcase_26 AC 3,138 ms
144,724 KB
testcase_27 AC 3,279 ms
144,432 KB
testcase_28 AC 3,345 ms
144,364 KB
testcase_29 AC 3,115 ms
143,320 KB
testcase_30 AC 66 ms
67,328 KB
testcase_31 AC 127 ms
79,616 KB
testcase_32 AC 156 ms
79,548 KB
testcase_33 AC 121 ms
79,104 KB
testcase_34 AC 149 ms
79,744 KB
testcase_35 AC 65 ms
67,072 KB
testcase_36 AC 134 ms
79,616 KB
testcase_37 AC 137 ms
79,744 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import queue
h, w = map(int,input().split())
a, si, sj = map(int,input().split())
b, gi, gj = map(int,input().split())
m = [list(input()) for i in range(h)]
maxsize = 1200
visited = [[[False] * maxsize for i in range(w)] for j in range(h)]

qi = queue.Queue()
qj = queue.Queue()
qsize = queue.Queue()
visited[si][sj][a] = True
qi.put(si)
qj.put(sj)
qsize.put(a)

dx = [0, 1, 0,-1]
dy = [1, 0,-1, 0]

while not qsize.empty():
    curi = qi.get()
    curj = qj.get()
    cursize = qsize.get()
    #print(cursize,curi, curj)
    for i in range(4):
        nexti = curi + dx[i]
        nextj = curj + dy[i]
        if 0 <= nexti < h and 0 <= nextj < w:
            pass
        else:
            continue

        if m[nexti][nextj] == "*":
            nextsize = cursize + 1
        else:
            nextsize = cursize - 1

        if 0 < nextsize < maxsize:
            pass
        else:
            continue

        if not visited[nexti][nextj][nextsize]:
            visited[nexti][nextj][nextsize] = True
            qi.put(nexti)
            qj.put(nextj)
            qsize.put(nextsize)

if visited[gi][gj][b]:
    print("Yes")
else:
    print("No")
0