結果
問題 |
No.323 yuki国
|
ユーザー |
|
提出日時 | 2023-10-18 00:11:22 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,335 ms / 5,000 ms |
コード長 | 927 bytes |
コンパイル時間 | 411 ms |
コンパイル使用メモリ | 82,340 KB |
実行使用メモリ | 141,288 KB |
最終ジャッジ日時 | 2024-09-17 21:15:58 |
合計ジャッジ時間 | 22,495 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 32 |
ソースコード
from collections import deque h, w = map(int, input().split()) a, si, sj = map(int, input().split()) b, ti, tj = map(int, input().split()) S = [list(input()) for _ in range(h)] visited = [[[False for _ in range(2001)] for _ in range(w)] for _ in range(h)] Directions = [(1, 0), (0, 1), (-1, 0), (0, -1)] Que = deque([(a, si, sj)]) visited[si][sj][a] = True while Que: cs, ci, cj = Que.popleft() for di, dj in Directions: ni, nj = ci + di, cj + dj if 0 <= ni < h and 0 <= nj < w: if S[ni][nj] == '.': ns = cs - 1 if ns == 0: continue else: ns = cs + 1 if ns > 2000: continue if visited[ni][nj][ns]: continue visited[ni][nj][ns] = True Que.append((ns, ni, nj)) if visited[ti][tj][b]: print("Yes") else: print("No")