Submission #52153

#TimeUsernameProblemLanguageResultExecution timeMemory
52153aquablitz11Game (IOI14_game)C++14
42 / 100
1089 ms5136 KiB
#include <bits/stdc++.h>
#include "game.h"
using namespace std;

const int N = 1510;
int n, G[N][N], vis[N];

void initialize(int n)
{
    ::n = n;
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < n; ++j) {
            if (i != j)
                G[i][j] = 1;
        }
    }
}

void dfs(int u)
{
    vis[u] = true;
    for (int v = 0; v < n; ++v) {
        if (!vis[v] && G[u][v] == 1)
            dfs(v);
    }
}

int hasEdge(int u, int v)
{
    for (int i = 0; i < n; ++i) vis[i] = false;
    G[u][v] = G[v][u] = 0;
    int cnt = 0;
    for (int i = 0; i < n; ++i) {
        if (!vis[i]) {
            ++cnt;
            if (cnt > 1)
                break;
            dfs(i);
        }
    }
    if (cnt > 1)
        return G[u][v] = G[v][u] = 1;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...