51nod1714(简单的博弈,SG函数)
2016-08-01 21:38
162 查看
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1714
上51nod突然发现很久以前有个题没有过,发现是博弈,要求SG函数,但是抓耳挠腮也没想出来怎么在时限里求,于是看了看解题报告,说是用一种不算暴力的暴力,还是不懂,还去问了q巨(q巨对我说直接暴力,跑的飞快),我跑了一下,几秒钟没跑出来就又怯生生地去问q巨,q巨说一分钟不到就可以跑出来了啊(晕,这算不算暴力的暴力吗,可能是我眼界窄吧),于是怒暴力打表,问题迎刃而解。
上51nod突然发现很久以前有个题没有过,发现是博弈,要求SG函数,但是抓耳挠腮也没想出来怎么在时限里求,于是看了看解题报告,说是用一种不算暴力的暴力,还是不懂,还去问了q巨(q巨对我说直接暴力,跑的飞快),我跑了一下,几秒钟没跑出来就又怯生生地去问q巨,q巨说一分钟不到就可以跑出来了啊(晕,这算不算暴力的暴力吗,可能是我眼界窄吧),于是怒暴力打表,问题迎刃而解。
// // main.cpp // 1714 // // Created by 黄宇凡 on 8/1/16. // Copyright © 2016 黄宇凡. All rights reserved. // #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; long long sg[65] = {0, 1, 2, 4, 8, 16, 32, 64, 128, 255, 256, 512, 1024, 2048, 3855, 4096, 8192, 13107, 16384, 21845, 27306, 32768, 38506, 65536, 71576, 92115, 101470, 131072, 138406, 172589, 240014, 262144, 272069, 380556, 524288, 536169, 679601, 847140, 1048576, 1072054, 1258879, 1397519, 2005450, 2097152, 2121415, 2496892, 2738813, 3993667, 4194304, 4241896, 4617503, 5821704, 7559873, 8388608, 8439273, 8861366, 11119275, 11973252, 13280789, 16777216, 16844349, 17102035, 19984054, 21979742, 23734709 }; //int vis[100000000]; //void init(){ // sg[0] = 0; // for(int i = 1;i <= 64;i++){ // for(int j1 = 0;j1 < i;j1++){ // for(int j2 = j1;j2 < i;j2++){ // for(int j3 = j2;j3 < i;j3++){ // for(int j4 = j3;j4 < i;j4++){ // for(int j5 = j4;j5 < i;j5++){ // for(int j6 = j5;j6 < i;j6++){ // for(int j7 = j6;j7 < i;j7++){ // long long tmp = sg[j1] ^ sg[j2] ^ sg[j3] ^ sg[j4] ^ sg[j5] ^ sg[j6] ^ sg[j7]; // vis[tmp] = i; // } // } // } // } // } // } // } // for(int j = 0;j < 30000000;j++){ // if(vis[j] != i) {sg[i] = j;break;} // } // } //} int main(int argc, const char * argv[]) { //init(); // for(int i = 0;i <= 64;i++){ // cout << sg[i] << endl; // } int n; cin >> n; unsigned long long x; long long ans = 0; for(int i = 1;i <= n;i++){ cin >> x; int sum = 0; while(x > 0){ if(x & 1) sum++; x >>= 1; } ans ^= sg[sum]; } if(ans == 0) printf("L\n"); else printf("B\n"); return 0; }
相关文章推荐
- hdu 2999 sg函数(简单博弈)
- hdu 1524 A Chess Game 博弈之,SG函数简单题
- hdu 1536、hdu 1944 S-Nim(博弈SG函数)
- 博弈问题及SG函数(真的很经典)
- 三种简单博弈问题的简单介绍
- HDOJ 1536 S-Nim 博弈 SG函数
- HDU 4371 Alice and Bob [简单博弈]
- FAFU 1027 knight 博弈 SG函数
- 【解题报告】NYOJ 518 取球游戏 -- 简单博弈
- POJ 2484 A Funny Game 简单博弈
- HDOJ 1760 Fibonacci again and again 博弈 SG函数
- 简单的拍卖博弈
- 博弈问题及SG函数(真的很经典)
- 博弈-sg函数的原理和优化(hdu-1536)
- cf div_124_a(简单博弈)
- POJ 2484 简单博弈
- 博弈问题及SG函数
- 一道简单的博弈题~
- HDOJ 1848组合博弈 SG函数的基本应用
- HDOJ 3980 Paint Chain 博弈 SG函数