結果
| 問題 | No.323 yuki国 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-12-16 00:37:31 |
| 言語 | PyPy2 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 692 ms / 5,000 ms |
| コード長 | 806 bytes |
| 記録 | |
| コンパイル時間 | 510 ms |
| コンパイル使用メモリ | 76,928 KB |
| 実行使用メモリ | 149,876 KB |
| 最終ジャッジ日時 | 2024-06-28 12:19:10 |
| 合計ジャッジ時間 | 12,567 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 6 |
| other | AC * 32 |
ソースコード
from collections import deque
dxy = zip([1, 0, -1, 0], [0, 1, 0, -1])
H, W = map(int, raw_input().split())
A, Sy, Sx = map(int, raw_input().split())
B, Gy, Gx = map(int, raw_input().split())
M = [raw_input() for i in xrange(H)]
que = deque([(A, Sx, Sy)])
used = [[[False]*51 for i in xrange(51)] for j in xrange(max(A, B) + 100)]
while que:
a, x, y = que.popleft()
if used[a][x][y]: continue
used[a][x][y] = True
if Gx == x and Gy == y and a == B:
print "Yes"
break
for dx, dy in dxy:
nx, ny = x + dx, y + dy
if 0 <= nx < W and 0 <= ny < H:
na = a + (1 if M[ny][nx] == "*" else -1)
if na <= 0 or na >= max(A, B) + 100: continue
if used[na][nx][ny]: continue
que.append((na, nx, ny))
else:
print "No"