HDU1851_A Simple Game_求sg
2012-07-27 00:56
399 查看
/* *State: 1851 0MS 268K 862 B C++ *题目大意: * (类似)给定n堆石子,然后规定每堆石子只能 * 取的个数,然后最先取完者胜,要求判断局势的奇异。 *解题思路: * 分别求sg即可。 */ #include <iostream> #include <stdio.h> using namespace std; const int MAX = 21; int get_sg(int n, int t) { int sg[MAX], vst[MAX]; for(int i = 0; i < MAX; i++) { int h = 1; memset(vst, 0, sizeof(vst)); while(i >= h && h <= t) vst[sg[i - h++]] = 1; for(int j = 0; j <= i; j++) { if(!vst[j]) { sg[i] = j; break; } } } return sg ; } int main(void) { #ifndef ONLINE_JUDGE freopen("in.txt", "r", stdin); #endif int cas; scanf("%d", &cas); while(cas--) { int n, yihuo = 0; scanf("%d", &n); for(int i = 0; i < n; i++) { int pile, pile_tmp, lit; scanf("%d %d", &pile, &lit); pile_tmp = get_sg(pile, lit); yihuo ^= pile_tmp; } if(!yihuo) printf("Yes\n"); else printf("No\n"); } return 0; }
相关文章推荐
- HDU 1851 A Simple Game
- HDU 1848 Fibonacci again and again && HDU 1851 A Simple Game (基础sg函数)
- hdu 1851 A Simple Game(博弈)
- hdu1851 A Simple Game
- hdu 1851 A Simple Game
- A Simple Game HDU - 1851
- hdu 1851 A Simple Game 博弈论
- HDU-1851-A Simple Game
- HDU - 1851 - A Simple Game
- hdu 1851(A Simple Game)(sg博弈)
- HDU(1851) A Simple Game (博弈)
- hdu A Simple Game(1851)
- HDU 1851 A Simple Game
- HDU 1851 - A Simple Game
- HDU-1851-A Simple Game
- hdu 1851 A Simple Game
- hdu 1851 A Simple Game Java 水题系列 博弈
- HDU-6237 A Simple Stone Game (素数筛 + 贪心)
- hdu 2486 A simple stone game
- [K倍动态减法问题] HDU 2486 & HDU2580 & POJ3922 a simple stone game