提出詳細


ソースコード

from collections import deque
INF = float("inf")
COURSES = [(0, 1), (1, 0), (-1, 0), (0, -1)]

for case in range(int(input())):
    print(f"Case #{case+1}:")
    W, H = map(int, input().split())
    A = [list(map(int, input().split())) for _ in range(H)]
    visited = [[INF]*W for _ in range(H)]
    queue = deque()
    goal = None

    for w in range(W):
        for h in range(H):
            if A[h][w] == 1:
                queue.append((h, w))
            if A[h][w] == 2:
                goal = (h, w)
    
    visited[queue[0][0]][queue[0][1]] = 0

    while queue:
        h, w = queue.popleft()
        if goal == (h, w):
            break
        for course in COURSES:
            next_h = h+course[0]
            next_w = w+course[1]
            if (not (0 <= next_h < H)) or (not (0 <= next_w < W)):
                continue
            if visited[next_h][next_w] != INF or A[next_h][next_w] == 3:
                continue
            visited[next_h][next_w] = visited[h][w]+1
            queue.append((next_h, next_w))

    print(0 if visited[goal[0]][goal[1]] == INF else visited[goal[0]][goal[1]])

提出情報

提出時間 2022-12-25 14:19:43
問題 F - ボルダリング
ユーザ名 konchan
状態 正解
正解率 50/50
提出出力結果

テストケース情報

# 状態 詳細情報
テストケース 1 正解 詳細を見る
テストケース 2 正解 詳細を見る
テストケース 3 正解 詳細を見る
テストケース 4 正解 詳細を見る
テストケース 5 正解 詳細を見る
テストケース 6 正解 詳細を見る
テストケース 7 正解 詳細を見る
テストケース 8 正解 詳細を見る
テストケース 9 正解 詳細を見る
テストケース 10 正解 詳細を見る
テストケース 11 正解 詳細を見る
テストケース 12 正解 詳細を見る
テストケース 13 正解 詳細を見る
テストケース 14 正解 詳細を見る
テストケース 15 正解 詳細を見る
テストケース 16 正解 詳細を見る
テストケース 17 正解 詳細を見る
テストケース 18 正解 詳細を見る
テストケース 19 正解 詳細を見る
テストケース 20 正解 詳細を見る
テストケース 21 正解 詳細を見る
テストケース 22 正解 詳細を見る
テストケース 23 正解 詳細を見る
テストケース 24 正解 詳細を見る
テストケース 25 正解 詳細を見る
テストケース 26 正解 詳細を見る
テストケース 27 正解 詳細を見る
テストケース 28 正解 詳細を見る
テストケース 29 正解 詳細を見る
テストケース 30 正解 詳細を見る
テストケース 31 正解 詳細を見る
テストケース 32 正解 詳細を見る
テストケース 33 正解 詳細を見る
テストケース 34 正解 詳細を見る
テストケース 35 正解 詳細を見る
テストケース 36 正解 詳細を見る
テストケース 37 正解 詳細を見る
テストケース 38 正解 詳細を見る
テストケース 39 正解 詳細を見る
テストケース 40 正解 詳細を見る
テストケース 41 正解 詳細を見る
テストケース 42 正解 詳細を見る
テストケース 43 正解 詳細を見る
テストケース 44 正解 詳細を見る
テストケース 45 正解 詳細を見る
テストケース 46 正解 詳細を見る
テストケース 47 正解 詳細を見る
テストケース 48 正解 詳細を見る
テストケース 49 正解 詳細を見る
テストケース 50 正解 詳細を見る