Submission #149238

#TimeUsernameProblemLanguageResultExecution timeMemory
149238rkm0959 (#200)Bulb Game (FXCUP4_bulb)C++17
11 / 100
2 ms380 KiB
#include <bits/stdc++.h>

using namespace std;

bool bad(int x, vector<int>&L, vector<int>&R){
	x=R[x];
	while(x>=0)
		x=L[x];
	return x==-2;
}

bool ok(int x, vector<int>&L, vector<int>&R){
	x=R[x];
	while(x>=0)
	{
		if(bad(x,L,R)) return 0;
		x=L[x];
	}
	return x==-1;
}

bool existover2(int now,int dep, vector<int>&L, vector<int>&R){
	if(now<0) return 0;
	if(dep>2) return 1;
	return existover2(L[now],dep,L,R) or existover2(R[now],dep+1,L,R);
}

int FindWinner(int T, vector<int>L, vector<int>R){
	int i;
	int temp=0;
	while(temp>=0)
		temp=L[temp];
	if(temp==-2) return 0;
	temp=0;
	while(temp>=0)
	{
		if(ok(temp,L,R)) return 1;
		if(bad(temp,L,R)) return 0;
		temp=L[temp];
	}
	return existover2(0,0,L,R);
}

Compilation message (stderr)

bulb.cpp: In function 'int FindWinner(int, std::vector<int>, std::vector<int>)':
bulb.cpp:29:6: warning: unused variable 'i' [-Wunused-variable]
  int i;
      ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...