# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
148915 | 2019-09-01T05:22:37 Z | test team(#3596, leesongun, einsu5, willi19) | Bulb Game (FXCUP4_bulb) | C++17 | 2 ms | 376 KB |
#include "bulb.h" #include<bits/stdc++.h> using namespace std; int l[300100],r[300100]; vector<int> wen,owe; void dfs(int node) { if(wen[node]==-1) l[node]=1; if(wen[node]==-2) l[node]=2; if(wen[node]>=0) { dfs(wen[node]); l[node]=l[wen[node]]; } if(owe[node]==-1) r[node]=1; if(owe[node]==-2) r[node]=2; if(owe[node]>=0) { dfs(owe[node]); r[node]=l[owe[node]]; } } int FindWinner(int T, std::vector<int> L, std::vector<int> R){ int N = L.size(); for(int i=0;i<N;i++) { wen.push_back(L[i]); owe.push_back(R[i]); } dfs(0); if(l[0]==1) return 0; int first=0,node=0; while(r[node]==2) { if(wen[node]<0) return 1; node=wen[node]; } if(owe[node]<0) return 1; node=owe[node]; while(r[node]==2) { if(wen[node]<0) return 1; node=wen[node]; } return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Incorrect | 2 ms | 376 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |