# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
153899 | 2019-09-17T11:21:50 Z | stefantaga | Bulb Game (FXCUP4_bulb) | C++17 | 1000 ms | 504 KB |
#include <bits/stdc++.h> #include "bulb.h" using namespace std; struct bec { int st,dr; }val[300005]; bool notbec (int nr) { if (nr==-1||nr==-2) { return 0; } return 1; } void dfs (int x,vector <int> l,vector <int> r) { if (notbec(l[x])) { dfs(l[x],l,r); val[x].st=val[l[x]].st; } else { val[x].st=l[x]; } if (notbec(r[x])) { dfs(r[x],l,r); val[x].dr=val[r[x]].st; } else { val[x].dr=r[x]; } } int FindWinner(int t,vector<int> l,vector<int> r) { int n= l.size(),poz,poz1; poz=0; while (poz!=-1&&poz!=-2) { poz=l[poz]; } if (poz==-2) { return 0; } else { dfs(0,l,r); if (val[0].dr==-2) { poz=l[0]; while (notbec(poz)==1) { if (val[r[poz]].st==-2) { return 0; } poz=l[poz]; } poz=r[0]; while (notbec(poz)==1) { if (val[r[poz]].st==-1) { return 1; } poz=l[poz]; } return 1; } else { int ok; poz=l[0]; while (notbec(poz)==1) { poz1=r[poz]; ok=0; while (notbec(poz1)==1) { if (val[r[poz1]].st==-2) { ok=1; break; } poz1=l[poz1]; } if (ok==0) { return 1; } } return 0; } } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 376 KB | Output is correct |
2 | Execution timed out | 1062 ms | 504 KB | Time limit exceeded |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 372 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 3 ms | 376 KB | Output is correct |
4 | Execution timed out | 1062 ms | 504 KB | Time limit exceeded |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 372 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 3 ms | 376 KB | Output is correct |
4 | Execution timed out | 1062 ms | 504 KB | Time limit exceeded |
5 | Halted | 0 ms | 0 KB | - |