hdu 1536 S-Nim (SG函数经典题)
来源:互联网 发布:通用led显示屏软件 编辑:程序博客网 时间:2024/06/05 02:04
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1536
题目大意:有一个集合S,里面有k个数,玩取石子游戏,每次只能取S中的一个数,玩n次,分别判断先手胜负。
思路:SG问题经典题,知道SG问题的人应该都会吧。。 不说什么了,不懂得可以看看我转的两篇博客。。
昨天一直听别人说SG什么的,不知道是什么,今天去学了一下,挺厉害的~~ 自己第一道SG题,纪念一下~~ = =
代码如下:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int k;int sg[11111];int enable[111];int get_sg(int n){ if(sg[n]!=-1) return sg[n]; int hash[111] = {0}; for(int i = 0;i<k;i++) { int tmp = n - enable[i]; if(tmp<0) break; if(sg[tmp]==-1) sg[tmp] = get_sg(tmp); hash[sg[tmp]] = 1; } for(int i = 0;;i++) if(hash[i]==0) return i;}int main(){ while(~scanf("%d",&k)&&k) { for(int i = 0;i<k;i++) scanf("%d",&enable[i]); sort(enable,enable+k); memset(sg,-1,sizeof(sg)); sg[0] = 0; int m; scanf("%d",&m); while(m--) { int n; scanf("%d",&n); int ans = 0; while(n--) { int a; scanf("%d",&a); ans ^= get_sg(a); } if(ans==0) printf("L"); else printf("W"); } puts(""); } return 0;}
- hdu 1536 S-Nim (SG函数经典题)
- HDU 1536 S-Nim(sg函数)
- HDU 1536 S-Nim (SG函数)
- hdu 1536 S-Nim(SG函数)
- hdu 1536 S-Nim(SG函数)
- HDU 1536 S-Nim SG函数 Nim
- HDU 1536 S-Nim (博弈 sg函数 Nim和)
- HDU 1536 S-Nim(SG经典博弈)
- hdu 1536、hdu 1944 S-Nim(博弈SG函数)
- SG函数 hdu 1536 S-Nim
- hdu 1536 S-Nim sg函数
- HDU 1536 S-Nim 求SG函数
- hdu 1536 S-Nim (sg函数模版)
- S-Nim - HDU 1536 SG函数
- HDU 1536 S-Nim [SG函数]【博弈】
- [hdu 1536 S-Nim] SG 函数
- HDU 1536 S-Nim(sg函数)
- HDU 1536 S-Nim 博弈,SG函数
- jquery中的$(document).ready()方法和window.onload方法区别
- 【用C++Builder编写定时关机程序】
- 查看启动oracle服务
- HDU-4143
- pongo题解之24点扑克牌游戏--C++实现
- hdu 1536 S-Nim (SG函数经典题)
- Linux c 目录管理—目录简单遍历 opendir、readdir、scandir
- 【xtku】Win7中的文件关联 设置默认程序
- uva 1456 - Cellular Network (贪心+概率+dp)
- LINUX+PHP实现网页快照(截屏)
- poj 2182
- 根据XML文件批量生成java类——freemarker
- PHP中使用AMQP消息队列|LNMP
- DOM解析XML