提出 #47235547
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
#include <atcoder/all>
using namespace atcoder;
using ll = long long;
pair<bool, vector<int>> is_bipartite_graph(const vector<vector<int>> &G) {
int N = G.size();
vector<int> color(N, -1);
auto dfs = [&](auto self, int v, int c) {
color[v] = c;
for (auto nv : G[v]) {
if (color[v] == color[nv]) {
return false;
}
if (color[nv] < 0) {
if (!self(self, nv, !c)) return false;
}
}
return true;
};
bool ok = true;
for (int v = 0; v < N; v++) {
if (color[v] >= 0) continue;
if (!dfs(dfs, v, 0)) ok = false;
}
return {ok, color};
}
int main() {
int N, M;
cin >> N >> M;
vector<vector<int>> G(N);
vector<int> A(M), B(M);
for (int i = 0; i < M; i++) {
cin >> A[i];
A[i]--;
}
for (int i = 0; i < M; i++) {
cin >> B[i];
B[i]--;
}
for (int i = 0; i < M; i++) {
G[A[i]].push_back(B[i]);
G[B[i]].push_back(A[i]);
}
auto ans = is_bipartite_graph(G);
cout << (ans.first ? "Yes" : "No") << endl;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Good Tuple Problem |
| ユーザ | mtrh |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 400 |
| コード長 | 1249 Byte |
| 結果 | AC |
| 実行時間 | 94 ms |
| メモリ | 23496 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 400 / 400 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_random_1_00.txt, 01_random_1_01.txt, 01_random_1_02.txt, 01_random_1_03.txt, 01_random_1_04.txt, 02_random_2_00.txt, 02_random_2_01.txt, 02_random_2_02.txt, 02_random_2_03.txt, 02_random_2_04.txt, 02_random_2_05.txt, 02_random_2_06.txt, 02_random_2_07.txt, 02_random_2_08.txt, 02_random_2_09.txt, 03_tree_00.txt, 04_path_00.txt, 05_corner_00.txt, 05_corner_01.txt, 05_corner_02.txt, 05_corner_03.txt, 05_corner_04.txt, 05_corner_05.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 3576 KiB |
| 00_sample_01.txt | AC | 1 ms | 3580 KiB |
| 00_sample_02.txt | AC | 1 ms | 3576 KiB |
| 00_sample_03.txt | AC | 1 ms | 3460 KiB |
| 01_random_1_00.txt | AC | 11 ms | 5836 KiB |
| 01_random_1_01.txt | AC | 7 ms | 7604 KiB |
| 01_random_1_02.txt | AC | 12 ms | 6808 KiB |
| 01_random_1_03.txt | AC | 13 ms | 9724 KiB |
| 01_random_1_04.txt | AC | 39 ms | 7072 KiB |
| 02_random_2_00.txt | AC | 23 ms | 5648 KiB |
| 02_random_2_01.txt | AC | 32 ms | 6404 KiB |
| 02_random_2_02.txt | AC | 22 ms | 5324 KiB |
| 02_random_2_03.txt | AC | 28 ms | 5712 KiB |
| 02_random_2_04.txt | AC | 27 ms | 5232 KiB |
| 02_random_2_05.txt | AC | 23 ms | 5384 KiB |
| 02_random_2_06.txt | AC | 29 ms | 6304 KiB |
| 02_random_2_07.txt | AC | 40 ms | 6616 KiB |
| 02_random_2_08.txt | AC | 27 ms | 6104 KiB |
| 02_random_2_09.txt | AC | 40 ms | 6888 KiB |
| 03_tree_00.txt | AC | 87 ms | 17408 KiB |
| 04_path_00.txt | AC | 81 ms | 23496 KiB |
| 05_corner_00.txt | AC | 1 ms | 3652 KiB |
| 05_corner_01.txt | AC | 35 ms | 6860 KiB |
| 05_corner_02.txt | AC | 35 ms | 6548 KiB |
| 05_corner_03.txt | AC | 36 ms | 6572 KiB |
| 05_corner_04.txt | AC | 80 ms | 23480 KiB |
| 05_corner_05.txt | AC | 94 ms | 22380 KiB |