Submission #149695

#TimeUsernameProblemLanguageResultExecution timeMemory
149695욱방켜!! (twitch.tv/wookje) (#200)Bulb Game (FXCUP4_bulb)C++17
0 / 100
2 ms376 KiB
#include "bulb.h"

std::vector<int> L, R;
int dist[300000], mdist;

void dfs(int c, int v)
{
	mdist=std::max(mdist,v);
	if(L[c]>=0) {
		dist[L[c]]=dist[c]+1;
		dfs(L[c],v);
	}
	if(R[c]>=0) {
		dist[R[c]]=dist[c]+1;
		dfs(R[c],v+1);
	}
}

int FindWinner(int T, std::vector<int> L, std::vector<int> R){
	int N = L.size(), c, n;
	std::vector<int> temp;
	::L=L; ::R=R;
	for(c=0;c>=0;c=L[c]) {
		for(n=R[c];n>=0;n=L[n]);
		if(n==-2) {
			if(R[c]==-2) return 0;
			temp.push_back(R[c]);
		}
	}
	if(c==-2 || temp.size()>1) return 0;
	dfs(0,0);
	if(temp.empty()) {
		if(mdist>1) return 1;
		int t=0;
		for(c=0;c>=0;c=L[c]) {
			for(n=R[c];n>=0;n=L[n]) {
				for(t=R[n];t>=0;t=L[t]);
				if(t==-1) return 1;
			}
		}
		return 0;
	}
	for(c=temp[0];c>=0;c=L[c]) {
		for(n=R[c];n>=0;n=L[n]);
		if(n==-1) return 1;
	}
	return 0;
}

Compilation message (stderr)

bulb.cpp: In function 'int FindWinner(int, std::vector<int>, std::vector<int>)':
bulb.cpp:20:6: warning: unused variable 'N' [-Wunused-variable]
  int N = L.size(), c, n;
      ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...