結果

問題 No.3063 幅優先探索
ユーザー y61mpnly61mpnl
提出日時 2020-04-01 23:22:26
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
RE  
実行時間 -
コード長 931 bytes
コンパイル時間 101 ms
コンパイル使用メモリ 11,060 KB
実行使用メモリ 21,292 KB
最終ジャッジ日時 2023-09-09 20:12:29
合計ジャッジ時間 3,957 ms
ジャッジサーバーID
(参考情報)
judge12 / judge13
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 RE -
testcase_01 RE -
testcase_02 RE -
testcase_03 RE -
testcase_04 RE -
testcase_05 RE -
testcase_06 TLE -
testcase_07 -- -
testcase_08 -- -
testcase_09 -- -
testcase_10 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

def main():
    h, w = map(int, input().split())
    s = list(map(int, input().split()))
    s[0] -= 1
    s[1] -= 1
    g = list(map(int, input().split()))
    g[0] -= 1
    g[1] -= 1
    f = [list(input()) for i in range(h)]

    hr = [s+[0]]
    flag = True
    while flag:
        m = hr.pop(0)

        f[m[0]][m[1]] = "#"
        if (f[m[0]-1][m[1]]=="."):
            if not([m[0]-1, m[1], m[2]+1]in hr): hr.append([m[0]-1, m[1], m[2]+1])
        if f[m[0]+1][m[1]]==".":
            if not([m[0]+1, m[1], m[2]+1]in hr): hr.append([m[0]+1, m[1], m[2]+1])
        if f[m[0]][m[1]-1]==".":
            if not([m[0], m[1]-1, m[2]+1]in hr): hr.append([m[0], m[1]-1, m[2]+1])
        if f[m[0]][m[1]+1]==".":
            if not([m[0], m[1]+1, m[2]+1]in hr): hr.append([m[0], m[1]+1, m[2]+1])

        for n in hr[-4:]:
            if n[:2]==g:
                flag = False

    print(hr[-1][2])


if __name__=="__main__": main()
0