This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define eb emplace_back
using namespace std;
const int MAXN = 100055;
vector<int> G[MAXN];
int A[MAXN*2];
bitset<MAXN*2> chk, isd;
int N, M;
void f(int i) {
chk[i] = true;
if(G[i>>1].empty() && (i&1)) {
vector<int> V;
for(int v = i; v;) {
V.eb(v);
v = A[v];
}
reverse(V.begin(), V.end());
puts("Win");
for(int v : V) printf("%d ", v >> 1);
puts("");
exit(0);
}
i ^= 1;
for(int v : G[i>>1]) {
v <<= 1; v |= i & 1;
if(chk[v]) continue;
A[v] = i ^ 1;
f(v);
}
}
void g(int i) {
chk[i] = true;
for(int v : G[i]) {
if(chk[v]) {
if(isd[v]) continue;
puts("Draw");
exit(0);
}
g(v);
}
isd[i] = true;
}
int main() {
ios::sync_with_stdio(false);
cin >> N >> M;
for(int i = 1; i <= N; i++) {
cin >> M;
for(int v; M--;) {
cin >> v;
G[i].eb(v);
}
}
cin >> M;
f(M << 1);
chk.reset();
g(M);
puts("Lose");
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |