結果

問題 No.3263 違法な散歩道
ユーザー もろこし
提出日時 2025-09-06 14:26:58
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 891 bytes
コンパイル時間 586 ms
コンパイル使用メモリ 82,848 KB
実行使用メモリ 110,324 KB
最終ジャッジ日時 2025-09-06 14:27:26
合計ジャッジ時間 8,195 ms
ジャッジサーバーID
(参考情報)
judge / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 20 WA * 8
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
sys.setrecursionlimit(10**7)
def ii(): return int(input())
def ist(): return input().split()
def mi(d=0): return map(lambda x:int(x)-d,input().split())
def lmi(d=0): return list(map(lambda x:int(x)-d,input().split()))
INF = float("inf")
def answer(s):
  print(s)
  exit()
################################################
n,m = mi()
g = [[] for _ in range(n)]
for _ in range(m):
  u,v = mi(1)
  g[u].append(v)
  g[v].append(u)

k = ii()
if k:
  a = set(mi(1))
else:
  a = []

visit = [[False]*n for _ in range(4)]
visit.append([True]*n)
que = [(0,0)]
ans = 0
while que:
  ans += 1
  nq = []
  for qi,qc in que:
    for gi in g[qi]:
      if gi == n-1:
        answer(ans)
      else:
        if gi in a:
          count = qc+1
        else:
          count = 0
        if not visit[count][gi]:
          visit[count][gi] = True
          nq.append((gi,count))
  que = nq
print(-1)
0