# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
113245 | 2019-05-24T12:04:32 Z | 김세빈(#2857) | Sleepy game (innopolis2018_final_D) | C++14 | 8 ms | 5248 KB |
#include <bits/stdc++.h> using namespace std; vector <int> V[101010], Q; int D[101010], P[101010]; bool chk[101010], ans[101010], dis[101010]; int D2[101010]; bool chk2[101010], ans2[101010]; int n, m, s; void check(int p, int v, int r) { chk[p] = 1; ans[p] = v; P[p] = r; if(v == 0){ for(int &t: V[p]){ if(!chk[t]){ check(t, 1, p); } } } else{ for(int &t: V[p]){ if(!chk[t]){ D[t] --; if(D[t] == 0) check(t, 0, p); } } } } int main() { int i, a, b, p; bool f = 0; scanf("%d%d", &n, &m); for(i=1; i<=n; i++){ scanf("%d", &a); D[i] = a; for(; a--; ){ scanf("%d", &b); V[b].push_back(i); } if(D[i] == 0) check(i, 0, 0); D2[i] = D[i]; if(!D2[i]){ chk2[i] = 1; ans2[i] = 0; Q.push_back(i); } } for(; !Q.empty(); ){ p = Q.back(); Q.pop_back(); for(int &t: V[p]) if(!chk2[t]){ chk2[t] = 1; ans2[t] = 1; P[t] = p; for(int &x: V[t]) if(!chk2[x]){ D2[x] --; if(D2[x] == 0){ chk2[x] = 1; ans2[x] = 0; P[x] = t; Q.push_back(x); } } } } for(i=1; i<=n; i++){ if(chk[i] != chk2[i] || ans[i] != ans2[i]) return 1 / 0; } scanf("%d", &s); if(ans[s]){ printf("Win\n"); for(; s; s=P[s]) printf("%d ", s); printf("\n"); return 0; } for(i=1; i<=n; i++){ for(int &t: V[i]) if(t == s) { dis[i] = 1; break; } } for(i=1; i<=n; i++){ for(int &t: V[i]) if(dis[t]){ if(ans[i]){ printf("Win\n%d %d", s, t); for(s=i; s; s=P[s]) printf(" %d", s); printf("\n"); return 0; } else if(!chk[i]) f = 1; break; } } if(f) printf("Draw\n"); else printf("Lose\n"); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 7 ms | 5248 KB | Execution killed with signal 4 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 8 ms | 5248 KB | Execution killed with signal 4 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 8 ms | 5248 KB | Execution killed with signal 4 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 8 ms | 5248 KB | Execution killed with signal 4 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 7 ms | 5248 KB | Execution killed with signal 4 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |