結果
問題 | No.8063 幅優先探索 |
ユーザー | yamamura-k |
提出日時 | 2020-04-01 22:18:48 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 837 bytes |
コンパイル時間 | 78 ms |
コンパイル使用メモリ | 13,056 KB |
実行使用メモリ | 11,904 KB |
最終ジャッジ日時 | 2024-06-27 11:20:16 |
合計ジャッジ時間 | 955 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | RE | - |
testcase_01 | RE | - |
testcase_02 | RE | - |
testcase_03 | RE | - |
testcase_04 | RE | - |
testcase_05 | RE | - |
testcase_06 | RE | - |
testcase_07 | RE | - |
testcase_08 | RE | - |
testcase_09 | RE | - |
testcase_10 | RE | - |
ソースコード
R,C = map(int,input().split()) sy,sx = map(int,input().split()) gy,gx= map(int,input().split()) C = [input()for _ in range(C)] sy -= 1;sx -= 1;gy -= 1;gx -= 1 dist = [[2**60]*R for _ in range(C)] dist[sy][sx] = 0 from collections import deque que = deque([(sy,sx)]) d = [-1,1] visited = [[0]*R for _ in range(C)] visited[sy][sx] = 1 while que: u = que.popleft() y,x = u for i in range(2): yy = y+d[i] xx = x+d[i] if 0 <= yy < C: dist[yy][x] = min(dist[yy][x],dist[y][x]+1) if visited[yy][x] == 0: que.append((yy,x)) visited[yy][x] = 1 if 0 <= xx < R: dist[y][xx] = min(dist[y][xx],dist[y][x]+1) if visited[y][xx] == 0: que.append((y,xx)) visited[y][xx] = 1 print(dist[gy][gx])