제출 #1340471

#제출 시각아이디문제언어결과실행 시간메모리
1340471orgiloogiiRonald (COCI17_ronald)C++20
30 / 120
24 ms6800 KiB
#include <bits/stdc++.h>
#define int long long
#define ff first
#define ss second
using namespace std;

signed main() {
    ios_base::sync_with_stdio(0);
    cin.tie(NULL);
    int n;
    cin >> n;
    int m;
    cin >> m;
    vector <vector <int>> adj(n + 1);
    for (int i = 0;i < m;i++) {
        int u, v;
        cin >> u >> v;
        adj[u].push_back(v);
        adj[v].push_back(u);
    }
    bool vis[n + 1] = {0};
    queue <int> q;
    bool pos = true;
    int strong = 0;
    for (int i = 1;i <= n;i++) {
        if (vis[i] == false) {
            q.push(i);
            vis[i] = true;
            vector <int> path;
            path.push_back(i);
            while (!q.empty()) {
                auto x = q.front();
                q.pop();
                for (auto y : adj[x]) {
                    if (vis[y] == 1) continue;
                    vis[y] = true;
                    q.push(y);
                    path.push_back(y);
                }
            }
            int deg = 0;
            for (auto x : path) {
                deg += adj[x].size();
            }
            if (deg != path.size() * (path.size() - 1)) {
                pos = false;
                break;
            }
        }
        if (!pos) break;
        strong++;
        if (strong == 2) break;
    }
    if (!pos) {
        cout << "NE";
        return 0;
    }
    for (int i = 1;i <= n;i++) {
        if (vis[i] == false) {
            pos = false;
            break;
        }
    }
    if (!pos) {
        cout << "NE";
        return 0;
    }
    cout << "DA";
}
#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...