結果
問題 | No.2674 k-Walk on Bipartite |
ユーザー |
|
提出日時 | 2024-03-21 02:35:27 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 634 ms / 2,000 ms |
コード長 | 755 bytes |
コンパイル時間 | 371 ms |
コンパイル使用メモリ | 82,336 KB |
実行使用メモリ | 101,504 KB |
最終ジャッジ日時 | 2024-09-30 09:59:00 |
合計ジャッジ時間 | 9,443 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 36 |
ソースコード
n, m = map(int, input().split())s, t, k = map(int, input().split())s -= 1t -= 1adj = [[] for i in range(n)]for i in range(m):u, v = map(int, input().split())u -= 1v -= 1adj[u].append(v)adj[v].append(u)dis = [1000000000 for i in range(n)]from queue import *q = Queue()q.put(s)dis[s] = 0while not q.empty():u = q.get()q.task_done()for v in adj[u]:if dis[v] > dis[u] + 1:dis[v] = dis[u] + 1q.put(v)if n == 1:print("No")elif s == t:if (dis[t] + k) % 2:print("No")else:print("Yes" if adj[s] else "Unknown")elif dis[t] < 1000000000:if (dis[t] + k) % 2:print("No")elif dis[t] <= k:print("Yes")else:print("Unknown")elif k % 2:print("Unknown")else:print("No" if n == 2 else "Unknown")