結果
問題 |
No.2674 k-Walk on Bipartite
|
ユーザー |
|
提出日時 | 2024-03-15 22:37:39 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 881 bytes |
コンパイル時間 | 253 ms |
コンパイル使用メモリ | 82,972 KB |
実行使用メモリ | 98,064 KB |
最終ジャッジ日時 | 2024-09-30 02:04:05 |
合計ジャッジ時間 | 6,436 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 WA * 8 |
ソースコード
from collections import deque N, M = map(int, input().split()) s, t, k = map(int, input().split()) s -= 1 t -= 1 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) d = [10 ** 9] * N d[s] = 0 q = deque([s]) while q: u = q.popleft() for v in g[u]: if d[u] + 1 < d[v]: d[v] = d[u] + 1 q.append(v) if d[t] < 10 ** 9: if N == 1: print("No") elif N == 2: if d[t] == 0: # s == t if d[1 - t] == 1: if k % 2 == 1: print("Yes") else: print("No") else: if k % 2 == 1: print("Unknown") else: print("No") else: # s != t print("Yes" if k % 2 == 1 else "No") elif d[t] % 2 == k % 2: print("Yes" if d[t] <= k else "Unknown") else: print("No") else: if N == 2 and g[s] == [] and g[t] == [] and k % 2 == 0: print("No") else: print("Unknown")