HDU 1536 S-Nim (SG函数)
来源:互联网 发布:软件流程图模板 编辑:程序博客网 时间:2024/06/05 03:01
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1536
题意:有若干堆石子,每次可以从任意一堆石子中取若干颗(数目必须在集合S中),问谁会获胜。
思路:SG函数的应用,具体可看http://blog.csdn.net/zhoufenqin/article/details/7903741
#include<cstdio>#include<cstring>#include<vector>#include<map>#include<iostream>#include<algorithm>using namespace std;typedef long long ll;const int maxn = 100 + 10;const int maxv = 10000 + 10;int S[maxn], sg[maxv], vis[maxv], a[maxn];int ns, cnt;void init() { memset(sg, 0, sizeof sg); for(int i = 1; i < maxv; i++) { ++cnt; for(int j = 0; j < ns; j++) if(i - S[j] >= 0) vis[sg[i - S[j]]] = cnt; for(int j = 0; ; j++) if(vis[j] != cnt) { sg[i] = j; break; } }}int main() { while(scanf("%d", &ns) && ns) { for(int i = 0; i < ns; i++) scanf("%d", &S[i]); init(); int T; scanf("%d", &T); while(T--) { int n; scanf("%d", &n); int sum = 0; for(int i = 0; i < n; i++) { scanf("%d", a+i); sum ^= sg[a[i]]; } if(sum) printf("W"); else printf("L"); } printf("\n"); } return 0; }
0 0
- HDU 1536 S-Nim SG函数 Nim
- 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 函数
- 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函数)
- HDU 1536 S-Nim (博弈 sg函数 Nim和)
- hdu 1536、hdu 1944 S-Nim(博弈SG函数)
- 堆栈、队列数据结构的特点
- 深入了解java之虚拟机内存
- android程序中调用shell命令
- Java设计模式-单例模式
- opencv python 图像二值化
- HDU 1536 S-Nim (SG函数)
- mysql 安装 和解决navicat 10061 1045错误
- MySQL 5.6 的MASTER – SLAVE 主从实例配置及切换 (一)
- JavaScript事件
- android:layout_alignleft layout_toleftof 使用,详解RelativeLayout布局属性 ,搜索xm布局
- MFC在状态栏中使用进度条控件
- C++map实现
- Jar包进程Kill前处理完未完成的业务代码
- L2-013. 红色警报