結果
問題 |
No.2674 k-Walk on Bipartite
|
ユーザー |
![]() |
提出日時 | 2024-03-15 21:56:07 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 870 bytes |
コンパイル時間 | 2,051 ms |
コンパイル使用メモリ | 200,880 KB |
最終ジャッジ日時 | 2025-02-20 05:04:02 |
ジャッジサーバーID (参考情報) |
judge5 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 WA * 12 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { int n, m, s, t, k; cin >> n >> m >> s >> t >> k; s--; t--; vector<vector<int>> g(n); for (int i = 0; i < m; i++) { int a, b; cin >> a >> b; a--; b--; g[a].push_back(b); g[b].push_back(a); } vector<int> dist(n, -1); queue<int> q; dist[s] = 0; q.push(s); while (!q.empty()) { int v = q.front(); q.pop(); for (int nv : g[v]) { if (dist[nv] != -1) { continue; } dist[nv] = dist[v] + 1; q.push(nv); } } if (abs(dist[t] - k) % 2 == 0) { if (dist[t] <= k) { cout << "Yes" << endl; } else { cout << "Unknown" << endl; } } else { cout << "No" << endl; } }