LightOJ-1296 Again Stone Game(SG打表找规律)
来源:互联网 发布:php 高德地图api 编辑:程序博客网 时间:2024/06/07 14:57
题意:n堆石子,对于每堆的操作是:一堆数量为k个的石子,每堆至少取1个至多取k/2个(特殊:1个石子取不了)。数据范围[1, 1e9].
思路:数据范围太大,不能预处理SG值,所以打出前100个石子的SG进行找规律,发现偶数时SG值为其本身/2,奇数时,发现其SG值为其不断除以2直至变成一个偶数,其SG值等于该偶数的SG值。
Code:
#include <string.h>#include <cstdio>using namespace std;int SG[1005], mex[1005];void GETSG()//打表找规律{int i, j;SG[0] = 0;for(i = 1; i <= 100; ++i){memset(mex, 0, sizeof mex);for(j = 1; j <= i/2; ++j) mex[SG[i-j]] = 1;for(j = 0; ; ++j) if(!mex[j]) break;SG[i] = j;printf("%2d: %d\n", i, SG[i]);}}int main(){int t, n, ans, x;//GETSG();scanf("%d", &t);for(int _ = 1; _ <= t; ++_){scanf("%d", &n); ans = 0;for(int i = 1; i <= n; ++i){scanf("%d", &x);// ans ^= SG[x];while(x&1) x /= 2;ans ^= (x/2);}printf("Case %d: ", _);if(ans) puts("Alice");else puts("Bob");}return 0;}
继续加油~
阅读全文
1 0
- LightOJ-1296 Again Stone Game(SG打表找规律)
- 【lightOJ】 Again Stone Game (博弈,SG函数)
- Again Stone Game (通过SG函数找规律)
- Light OJ 1296 - Again Stone Game (博弈sg函数递推)
- hdu1729 Stone Game sg
- Light OJ 1296 - Again Stone Game
- hdu Stone Game SG函数
- HDU1729 Stone Game (SG函数)
- HUD 1729 Stone Game(SG)
- hdu1729 Stone Game-sg函数
- hdu4203 Doubloon Game-------sg 打表找规律
- HDU 1729 Stone Game (SG函数)
- HDU 1729 Stone Game 【博弈论,SG函数】
- uva1378 - A Funny Stone Game SG函数
- [UVA1378] A Funny Stone Game && SG函数
- hdu 1729 Stone Game(SG函数)
- sg函数 hdu 1729 Stone Game
- 解题报告:HDU1729 Stone Game SG博弈
- java1.7引入的新的IO操作方式
- 我的web服务器中简单反向代理实现
- AGC018:Sports Festival(二分)
- 在Java中产生随机数的两个方法 转载
- H264中的SPS、PPS提取与作用
- LightOJ-1296 Again Stone Game(SG打表找规律)
- NDK开发学习之C学习基础篇-2(函数指针,字符串,动态分配内存)
- HTML5基本网页结构以及标签的改变
- Linux(Centos)下设置php-fpm开机启动
- 时间过渡和鼠标hover
- mysql索引列为空,也可以走索引
- 怎么理解面向对象和面向过程到底的本质区别?
- HTML5的离线存储
- 设置input标签内容不能复制