提出 #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
結果
AC × 4
AC × 27
セット名 テストケース
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