题意:给你一个有向无环图,再给你图上的棋子,每人每次只能移动一个棋子,当轮到你不能移动棋子是就输了,棋子可以同时在一个点

比赛时就差这题没ak,做了几天博弈终于搞懂了.

#include <iostream>
#include <cstdio>
#include<vector>
#include<cstring>
using namespace std;
#define N 1010
vector<int> adj[N];
int sg[N],n;
int mex(int v){
bool vis[N]={0};
int i,w;
for(i=0;i<adj[v].size();i++){
w=adj[v][i];
if(sg[w]==-1)
sg[w]=mex(w);
vis[sg[w]]=1;
}
for(i=0;;i++)
if(vis[i]==0)
return i;
}
int main(int argc, char** argv) {
int m,v,w,sum;
while(scanf("%d",&n)!=EOF){
for(v=0;v<n;v++){
adj[v].clear();
scanf("%d",&m);
while(m--){
scanf("%d",&w);
adj[v].push_back(w);
}
}
memset(sg,-1,sizeof(sg));
while(scanf("%d",&m)!=EOF&&m){
sum=0;
while(m--){
scanf("%d",&v);
if(sg[v]==-1)
sg[v]=mex(v);
sum^=sg[v];
}
if(sum)
printf("WIN\n");
else
printf("LOSE\n");
}
}
return 0;
}

最新文章

  1. Linux 环境变量PS1设置
  2. R:incomplete final line found by readTableHeader on
  3. android-studio-bundle-141.1980579-windows download Site
  4. bzoj1741 [Usaco2005 nov]Asteroids 穿越小行星群
  5. codeforces 709C C. Letters Cyclic Shift(贪心)
  6. Java for LeetCode 029 Divide Two Integers
  7. date 命令
  8. hdu 4550 卡片游戏 贪心
  9. somethings about QSplitter
  10. ffmpeg调试相关知识点
  11. Writing A Threadpool in Rust
  12. 浏览器端类EXCEL表格插件 - 智表ZCELL产品V1.0.0.1版本发布
  13. python3学习笔记3---引用http://python3-cookbook.readthedocs.io/zh_CN/latest/
  14. Linux上使用源代码安装软件
  15. easyui 布局之window和panel一起使用时,拉动window宽高时panel不跟随一起变化
  16. numpy版本查看以及升降
  17. android-DNS服务找不到
  18. A. Pride
  19. Codeforces Round #354 (Div. 2) D. Theseus and labyrinth bfs
  20. EventBus源码分析

热门文章

  1. js Array数组的使用
  2. UESTC_男神的礼物 2015 UESTC Training for Dynamic Programming&lt;Problem A&gt;
  3. 图像处理中像素点的问题:unsigned char 和 char
  4. LoadRunner性能测试中Controller场景创建需注意的几点
  5. ISO9126 质量模型
  6. mysql 5.6
  7. oracle linux 安装过程错误 :Error in invoking target ‘agent nmhs’ of makefile
  8. 四、Mp3文件类型及其判断
  9. 【初级坑跳跳跳】第一个应用布局学习的代码运行时出错(manifest里未将activity先注册,控件错误)
  10. (原创) C# List 找 Max 的 Index