Submission #1248315

#TimeUsernameProblemLanguageResultExecution timeMemory
1248315anha3k25cvpRonald (COCI17_ronald)C++20
120 / 120
20 ms3908 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 = 1 + 1e3;
const int inf = 7 + 1e9;

int n, m, check = 1;
vector <int> vis;
bitset <N> g;
vector <bitset <N>> connected;
vector <vector <int>> adj;

void dfs(int u) {
    vis[u] = 1;
    if ((connected[u] & g) != g) {
        check = 0;
        return;
    }
    g[u] = 1;
    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.resize(n + 1);
    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 ++;
            g = 0;
            dfs(i);
            if (!check) {
                cout << "NE";
                return 0;
            }
        }
    cout << "DA";
    return 0;
}

Compilation message (stderr)

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