Submission #349256

#TimeUsernameProblemLanguageResultExecution timeMemory
349256David_MGame (IOI14_game)C++14
100 / 100
413 ms14084 KiB
#include "game.h"
#include <algorithm>
#include <queue> 
using namespace std;

int a[1500], N;
bool b[1500][1500];
void initialize(int n){ N=n; for (int i=1; i<n; i++)a[i]=1; }
int hasEdge(int u, int v){
	b[v][u]=b[u][v]=1;
	bool e=0;
	if(a[u])swap(v, u);
	if(!a[u]){
		a[v]--; 
		if(!a[v]){ e=1; for (int i=0; i<N; i++)a[i]+=(!b[v][i]&&(i!=v)&&a[i]); }
	}
	
	return e;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...