Submission #1248313

#TimeUsernameProblemLanguageResultExecution timeMemory
1248313anha3k25cvpRonald (COCI17_ronald)C++20
120 / 120
25 ms7492 KiB
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define dl double
#define st first
#define nd second
#define II pair <int, int>

using namespace std;

const int N = 5 + 1e5;
const int inf = 7 + 1e9;

int n, m;
vector <int> vis, g;
vector <vector <int>> adj, connected;

void dfs(int u) {
    vis[u] = 1;
    g.push_back(u);
    for (int v : adj[u])
        if (!vis[v])
            dfs(v);
}

int main() {
#define TASKNAME ""
    ios_base :: sync_with_stdio (0);
    cin.tie (0);
    if ( fopen( TASKNAME".inp", "r" ) ) {
        freopen (TASKNAME".inp", "r", stdin);
        freopen (TASKNAME".out", "w", stdout);
    }
    cin >> n >> m;
    adj.resize(n + 1);
    connected.assign(n + 1, vector <int> (n + 1, 0));
    for (int i = 1; i <= m; i ++) {
        int u, v;
        cin >> u >> v;
        adj[u].push_back(v);
        adj[v].push_back(u);
        connected[u][v] = connected[v][u] = 1;
    }
    vis.assign(n + 1, 0);
    int cnt = 0;
    for (int i = 1; i <= n; i ++)
        if (!vis[i]) {
            if (cnt > 1) {
                cout << "NE";
                return 0;
            }
            cnt ++;
            vector <int> ().swap(g);
            dfs(i);
            for (int u = 0; u < g.size(); u ++)
                for (int v = u + 1; v < g.size(); v ++)
                    if (!connected[g[u]][g[v]]) {
                        cout << "NE";
                        return 0;
                    }
        }
    cout << "DA";
    return 0;
}

Compilation message (stderr)

ronald.cpp: In function 'int main()':
ronald.cpp:31:17: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   31 |         freopen (TASKNAME".inp", "r", stdin);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ronald.cpp:32:17: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   32 |         freopen (TASKNAME".out", "w", stdout);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...