题目描述
blablabla
样例
#include <bits/stdc++.h>
using namespace std;
const int N =1e5+10;
int n,m,e[N],h[N],ne[N],idx,sg[N];
void add(int a,int b){
e[idx] = b;ne[idx] = h[a];h[a] = idx++;
}
int dp(int u){
if(sg[u]>=0) return sg[u];
unordered_set<int> s;
for(int i = h[u];~i;i= ne[i]){
int x = e[i];
s.insert(dp(x));
}
for(int i=0;;i++)
if(!s.count(i))
return sg[u]=i;
}
int main(){
cin>>n;
memset(h,-1,sizeof h);
memset(sg,-1,sizeof sg);
for(int i = 0;i<n;i++){
int a,b;
cin>>a;
for(int j = 0;j<a;j++){
cin>>b;
add(i,b);
}
}
while(cin>>m,m){
int res = 0;
for(int i = 1;i<=m;i++){
int x;cin>>x;
res^=dp(x);
}
cout<<(res?"WIN":"LOSE")<<endl;
}
}