Submission #253904

#TimeUsernameProblemLanguageResultExecution timeMemory
253904b00n0rpGame (IOI14_game)C++17
42 / 100
1083 ms664 KiB
#include "game.h"
#include <bits/stdc++.h>
using namespace std;

bool adj[85][85];
bitset<85> vis;
int cnt;
int N;

void initialize(int n) {
	for(int i = 0; i < n; i ++){
		for(int j = 0; j < n; j ++){
			adj[i][j] = 1;
		}
	}
	N = n;
}

void dfs(int u){
	cnt++;
	vis[u] = 1;
	for(int i = 0; i < N; i ++){
		if(vis[i] == 0 and adj[u][i] == 1) dfs(i);
	}
}

int hasEdge(int u, int v) {
    adj[u][v] = 0;
    adj[v][u] = 0;
    cnt = 0;
    vis.reset();
    dfs(0);
    if(cnt == N) return 0;
    else{
    	adj[u][v] = 1;
    	adj[v][u] = 1;
    	return 1;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...