제출 #1345974

#제출 시각아이디문제언어결과실행 시간메모리
1345974killerzaluuRonald (COCI17_ronald)C++20
120 / 120
15 ms4392 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n, m;
    cin >> n >> m;

    vector<vector<int>> a(n + 1, vector<int>(n + 1, 0));
    for (int i = 0; i < m; i++) {
        int u, v;
        cin >> u >> v;
        a[u][v] = 1;
        a[v][u] = 1;
    }

    vector<int> c(n + 1, -1);

    for (int s = 1; s <= n; s++) {
        if (c[s] != -1) continue;

        queue<int> q;
        q.push(s);
        c[s] = 0;

        while (!q.empty()) {
            int u = q.front();
            q.pop();

            for (int v = 1; v <= n; v++) {
                if (u == v) continue;

                int need;
                if (a[u][v]) need = 0;
                else need = 1;

                int want = c[u] ^ need;

                if (c[v] == -1) {
                    c[v] = want;
                    q.push(v);
                } else if (c[v] != want) {
                    cout << "NE\n";
                    return 0;
                }
            }
        }
    }

    cout << "DA\n";
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...