結果

問題 No.2695 Warp Zone
コンテスト
ユーザー tipstar0125
提出日時 2024-03-25 12:59:15
言語 PyPy3
(8.0.0 + ACL)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
TLE  
(最新)
AC  
(最初)
実行時間 -
コード長 840 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 89 ms
コンパイル使用メモリ 64,544 KB
実行使用メモリ 109,168 KB
最終ジャッジ日時 2026-10-16 19:30:51
合計ジャッジ時間 7,563 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample -- * 3
other AC * 2 TLE * 1 -- * 22
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import heapq
from collections import defaultdict
H,W,N=map(int,input().split())
ABCD=[tuple(map(int,input().split())) for _ in range(N)]

dist=defaultdict(int)
pos=(1,1)
dist[pos]=0
Q=[]
heapq.heapify(Q)
heapq.heappush(Q,(dist[pos],pos))
while len(Q):
    e,(i,j)=heapq.heappop(Q)
    for (a,b,c,d) in ABCD:
        if (i,j)==(a,b):
            if dist.get((c,d)) is None or e+1<dist[(c,d)]:
                dist[(c,d)]=e+1
                heapq.heappush(Q,(dist[(c,d)],(c,d)))
        else:
            dd=abs(i-a)+abs(j-b)
            if dist.get((a,b)) is None or e+dd<dist[(a,b)]:
                dist[(a,b)]=e+dd
                heapq.heappush(Q,(dist[(a,b)],(a,b)))
    dd=abs(i-H)+abs(j-W)
    if dist.get((H,W)) is None or e+dd<dist[(H,W)]:
        dist[(H,W)]=e+dd
        heapq.heappush(Q,(dist[(H,W)],(H,W)))
print(dist[(H,W)])

0