Submission #19043

# Submission time Handle Problem Language Result Execution time Memory
19043 2016-02-17T09:39:15 Z suhgyuho_william Game (IOI14_game) C++
0 / 100
0 ms 18940 KB
#include "game.h"
#include <algorithm>
#include <vector>

using namespace std;

int N;
int a[1510][1510];
vector<int> edge[1510];

void initialize(int n) {
	N = n;
	int i,j;

	for(i=1; i<=N; i++){
		for(j=1; j<=N; j++){
			a[i][j] = -1;
		}
		while(!edge[i].empty()) edge[i].pop_back();
		edge[i].push_back(i);
	}
}

int hasEdge(int u, int v) {
	int i,j;
	int t1,t2;

	u++; v++;
	for(i=1; i<=N; i++){
        if(a[u][i] == 1){
			if(a[v][i] != 0){
				a[u][v] = a[v][u] = 0;
				return 0;
			}
        }
	}
	for(i=1; i<=N; i++){
		if(a[v][i] == 1){
			if(a[u][i] != 0){
				a[u][v] = a[v][u] = 0;
				return 0;
			}
		}
	}
	t1 = edge[u].size(); t2 = edge[v].size();
	for(i=0; i<t1; i++){
		for(j=0; j<t2; j++){
			a[edge[u][i]][edge[v][j]] = a[edge[v][j]][edge[u][i]] = 1;
			edge[edge[u][i]].push_back(edge[v][j]);
			edge[edge[v][j]].push_back(edge[u][i]);
		}
	}

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