結果
問題 |
No.2565 はじめてのおつかい
|
ユーザー |
![]() |
提出日時 | 2024-09-06 18:15:46 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 210 ms / 2,000 ms |
コード長 | 557 bytes |
コンパイル時間 | 526 ms |
コンパイル使用メモリ | 82,144 KB |
実行使用メモリ | 101,840 KB |
最終ジャッジ日時 | 2024-09-06 18:15:59 |
合計ジャッジ時間 | 11,307 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 50 |
ソースコード
n,m=map(int,input().split()) e=[[] for i in range(n)] for i in range(m): a,b=map(int,input().split()) a-=1 b-=1 e[a]+=[b] X=10**10 v=[X]*n v[0]=0 q=[0] for s in q: for t in e[s]: if v[t]==X: v[t]=v[s]+1 q+=[t] stot1=v[n-2] stot2=v[n-1] v=[X]*n v[n-2]=0 q=[n-2] for s in q: for t in e[s]: if v[t]==X: v[t]=v[s]+1 q+=[t] t1tos=v[0] t1tot2=v[n-1] v=[X]*n v[n-1]=0 q=[n-1] for s in q: for t in e[s]: if v[t]==X: v[t]=v[s]+1 q+=[t] t2tos=v[0] t2tot1=v[n-2] ans=min(stot1+t1tot2+t2tos,stot2+t2tot1+t1tos) print(ans if ans<X else -1)