#!/usr/bin/python # -*- coding: utf-8 -*- import heapq def solve(): C, R = map(int, raw_input().split()) c = [raw_input().split() for _ in range(R)] for y in range(R): for x in range(C): if c[y][x] == "1": sy = y + 1 sx = x + 1 c[y][x] = "0" elif c[y][x] == "2": gy = y + 1 gx = x + 1 c[y][x] = "0" q = [] visited = set() heapq.heappush(q, (0, sx, sy)) while len(q) > 0: v, x, y = heapq.heappop(q) if (x, y) in visited: continue if x == -1 or y == -1 or x == C+1 or y == R+1: continue visited.add((x, y)) if x == gx and y == gy: return v for dx, dy in [(1, 0), (-1, 0), (0, 1), (0, -1)]: nx, ny = x + dx, y + dy if (nx, ny) in visited: continue try: if c[ny-1][nx-1] == "0": heapq.heappush(q, (v+1, nx, ny)) except: pass return 0 if __name__ == "__main__": for i in range(input()): print "Case #" + str(i+1) + ":" print solve()
提出時間 | 2019-11-27 13:03:01 |
問題 | G - ボルダリング |
ユーザ名 | teracoder |
状態 | 正解 |
正解率 | 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 | 正解 | 詳細を見る |