結果

問題 No.2674 k-Walk on Bipartite
ユーザー moon17
提出日時 2025-03-23 21:39:41
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 439 ms / 2,000 ms
コード長 664 bytes
コンパイル時間 470 ms
コンパイル使用メモリ 82,040 KB
実行使用メモリ 124,688 KB
最終ジャッジ日時 2025-03-23 21:39:49
合計ジャッジ時間 7,463 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 36
権限があれば一括ダウンロードができます

ソースコード

diff #

from collections import*
(n,m),(S,T,k),*e=[[*map(int,s.split())]for s in open(0)]
S-=1;T-=1
g=[[]for _ in range(n)]
for a,b in e:
  a-=1;b-=1
  g[a]+=b,
  g[b]+=a,
s=[-1]*n
s[S]=0
q=deque([S])
while q:
  p=q.popleft()
  for v in g[p]:
    if s[v]<0:
      s[v]=s[p]+1
      q+=v,
if s[T]==-1:
  if n>2:
    print('Unknown')
  else:
    if k%2==0:
      print('No')
    else:
      print('Unknown')
  exit()
if S==T:
  if n<2:
    print('No')
  elif k%2==0:
    if max(s)>0:
      print('Yes')
    else:
      print('Unknown')
  else:
    print('No')
  exit()
if (s[S]%2==s[T]%2)!=k%2:
  if s[T]<=k:
    print('Yes')
  else:
    print('Unknown')
else:
  print('No')
0