Submission #961143

# Submission time Handle Problem Language Result Execution time Memory
961143 2024-04-11T14:49:19 Z Nahian9696 Game (IOI14_game) C++17
0 / 100
1 ms 348 KB
#include "game.h"
#include <algorithm>


int n, num_comps;

int par[2000];

int find(int u) {
    if (par[u] == u) {
        return u;
    }
    return par[u] = find(par[u]);
}

void initialize(int nn) {
    n = nn;
    for (int i = 0; i < n; i++) {
        par[i] = i;
    }
    num_comps = n;
}

int hasEdge(int u, int v) {

    if (find(u) == find(v)) {
        return 1;
    }

    if(num_comps > 2) {
        if(u > v) {
            std::swap(u, v);
        }
        par[find(u)] = find(v);
        num_comps--;
        return 1;
    } else {
        return 0;
    }


    return 1;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -