結果
問題 |
No.2664 Prime Sum
|
ユーザー |
![]() |
提出日時 | 2024-03-09 22:34:13 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 60 ms / 2,000 ms |
コード長 | 958 bytes |
コンパイル時間 | 1,829 ms |
コンパイル使用メモリ | 199,536 KB |
最終ジャッジ日時 | 2025-02-20 03:32:21 |
ジャッジサーバーID (参考情報) |
judge5 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 37 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; int main(){ cin.tie(nullptr); ios_base::sync_with_stdio(false); //aとbは偶奇が異なっていないといけない int N, M, a, b; cin >> N >> M; vector<vector<int>> E(N+1); vector<int> color(N+1, -1); for (int i=1; i<=M; i++){ cin >> a >> b; E[a].push_back(b); E[b].push_back(a); } auto dfs=[&](auto self, int from)->void{ for (auto to : E[from]){ if (color[to] != -1){ if (color[to] == color[from]){ cout << "No" << endl; exit(0); } continue; } color[to] = 1 - color[from]; self(self, to); } }; for (int i=1; i<=N; i++){ if (color[i] != -1) continue; color[i] = 0; dfs(dfs, i); } cout << "Yes" << endl; return 0; }