pku 2425 A Chess Game (SG)
题意:
给一个由N个点组成的一张有向图,不存在环。点的编号是0~N-1。
然后给出M个棋子所在的位置(点的编号)【一个点上可同时有多个棋子】。
每人每次可移动M个棋子中的一个棋子一步,移动方向是有向边指向的方向。最后无法移动棋子的人输。
思路:
一眼就可看出的裸的SG,直接看代码吧。
代码:
int sg[1005];
vector<int> graph[1005]; int dfs(int x){ // position x
if(sg[x]!=-1)
return sg[x];
int L=graph[x].size();
if(L==0)
return sg[x]=0;
bool vis[1005] = {0};
rep(i,0,L-1){
vis[dfs(graph[x][i])] = true;
}
for(int i=0;;++i){
if(!vis[i])
return sg[x]=i;
}
} int n,Xi,a,m,pos;
int main(){
while(scanf("%d",&n)!=EOF){
rep(i,0,n-1) graph[i].clear();
rep(i,0,n-1){
scanf("%d",&Xi);
while(Xi--){
scanf("%d",&a);
graph[i].push_back(a);
}
}
mem(sg,-1); while(scanf("%d",&m),m){
int ans=0;
rep(i,1,m){
scanf("%d",&pos);
ans=ans^dfs(pos);
}
if(!ans)
puts("LOSE");
else
puts("WIN");
}
}
}
pku 2425 A Chess Game (SG)的更多相关文章
- poj  2425 A Chess Game(SG函数)
		
A Chess Game Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 3551 Accepted: 1440 Desc ...
 - hdu 4559 涂色游戏(SG)
		
在一个2*N的格子上,Alice和Bob又开始了新游戏之旅. 这些格子中的一些已经被涂过色,Alice和Bob轮流在这些格子里进行涂色操作,使用两种涂色工具,第一种可以涂色任意一个格子,第二种可以涂色 ...
 - 面试经验(SG)
		
(1)给定一个字符串,"hello world high quality",去除里面的字符'h',然后返回一个新的字符串. package niukewang; public cl ...
 - POJ 2425 A Chess Game(有向图SG函数)题解
		
题意:给一个有向图,然后个m颗石头放在图上的几个点上,每次只能移动一步,如果不能移动者败 思路:dfs打表sg函数,然后求异或和 代码: #include<queue> #include& ...
 - POJ2425 A Chess Game(SG函数+记忆化深搜)
		
题目链接:传送门 题目大意: 在一个有N个点的拓扑图上(拓扑图以邻接表的形式输入),放M个棋子(棋子与棋子之间无关,可以重合). 两人轮流移动棋子,每次只能移动一个棋子经过一条边. 问先手是否必胜. ...
 - POJ 2425 A Chess Game 博弈论 sg函数
		
http://poj.org/problem?id=2425 典型的sg函数,建图搜sg函数预处理之后直接求每次游戏的异或和.仍然是因为看不懂题目卡了好久. 这道题大概有两个坑, 1.是搜索的时候vi ...
 - hdu 1848 Fibonacci again and again(sg)
		
Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
 - hdu 1847 Good Luck in CET-4 Everybody!(sg)
		
Good Luck in CET-4 Everybody! Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
 - hdu 1848 Fibonacci again and again (SG)
		
题意: 3堆石头,个数分别是m,n,p. 两个轮流走,每走一步可以选择任意一堆石子,然后取走f个.f只能是菲波那契中的数(即1,2,3,5,8.....) 取光所有石子的人胜. 判断先手胜还是后手胜. ...
 
随机推荐
- HDU1166敌兵布阵(线段树单点更新)
			
线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点. 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b ...
 - 垃圾分类app--NABCD--团队项目需求与分析
			
我们的产品是--智能垃圾分类APP,它的设计灵感的来自于"可持续化发展战略,走绿色发展道路",众所周知,垃圾是放错了地方的资源,因此我们团队为了响应国家"垃圾分类&quo ...
 - PHP中的那些魔术常量
			
之前我们已经了解了一些常用的魔术方法,除了魔术方法外,PHP还提供一些魔术常量,相信大家在日常的工作中也都使用过,这里给大家做一个总结. 其实PHP还提供了很多常量但都依赖于各类扩展库,而有几个常量是 ...
 - jquery播放视频事件
			
$('video').trigger('play'); $('video').trigger('pause'); 判断video播放器的播放状态,并进行切换播放,需要这样 let video = $( ...
 - Nginx系列(10)- Nginx配置文件详解
			
nginx文件结构 ... #全局块 events { #events块 ... } http #http块 { ... #http全局块 server #server块 { ... #server全 ...
 - 怎么让jenkins保持后台运行
			
今天在腾讯云直接使用命令启动jenkins,java -jar jenkins.war --httpPort=8080,这样启动关掉shell窗口或退回shell窗口,进程就会结束,需要重新 启动,非 ...
 - jquery-ui dialog, ajax FormData [snippet], $.ajax setRequestHeader
			
html: <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery- ...
 - django 模版-标签-视图-csrf-token-模版继承-HTML过滤器
			
""" ******模版****** --定义模版-- **变量** 视图传递给模版的数据 注意1:要遵守标识符规则 语法:{{var(即变量)}} 如果使用的变量不存在 ...
 - HTML 网页开发、CSS 基础语法——三. HTML概念
			
1.纯文本格式 纯文本格式,就是没有任何文本修饰的,没有任何粗体,下划线,斜体,图形,符号,或者特殊字符,及特殊打印格式的文本,只保存文本,不保存其格式设置. ①格式对比 纯文本格式 富文本格式 最常 ...
 - Oracle部署迁移手册
			
第1章 安装准备 1.1 安装环境 操作系统:Redhat6.5 x64 32核CPU 62G内存 系统盘300G 数据磁盘3T Oracle软件:Oracle Database 11g Enterp ...