結果
| 問題 |
No.3326 岩井星人の帰星
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-11-01 16:01:13 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,108 bytes |
| コンパイル時間 | 601 ms |
| コンパイル使用メモリ | 82,176 KB |
| 実行使用メモリ | 115,340 KB |
| 最終ジャッジ日時 | 2025-11-01 16:01:46 |
| 合計ジャッジ時間 | 26,163 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 42 WA * 17 |
ソースコード
from collections import deque
import heapq
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
G = [[] for _ in range(N)]
for _ in range(M):
u, v = map(int, input().split())
u-=1
v-=1
G[u].append(v)
G[v].append(u)
L = int(input())
JK = [list(map(int, input().split())) for _ in range(L)]
hp = []
INF = 10**9
dist = [INF for _ in range(N)]
JK.sort(key=lambda x:x[1])
for j, k in JK:
j-=1
if dist[j] > k:
dist[j] = k
if k>0:
hp.append((k, j))
heapq.heapify(hp)
while hp:
d, v = heapq.heappop(hp)
for nv in G[v]:
if dist[nv]>dist[v]-1:
dist[nv] = dist[v]-1
if dist[nv]>0:
heapq.heappush(hp, (dist[nv], nv))
dist2 = [INF for _ in range(N)]
deq = deque()
if dist[0]==INF:
deq.append(0)
dist2[0] = 0
while deq:
v = deq.popleft()
for nv in G[v]:
if dist[nv]!=INF:
continue
if dist2[nv]>dist2[v]+1:
dist2[nv] = dist2[v]+1
deq.append(nv)
if dist2[N-1]==INF:
print("No")
else:
print("Yes")
print(dist2[N-1])