博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU3537-Daizhenyang's Coin(博弈SG-打表)
阅读量:6592 次
发布时间:2019-06-24

本文共 2795 字,大约阅读时间需要 9 分钟。

Daizhenyang's Coin
Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 320    Accepted Submission(s): 146
Problem Description
We know that Daizhenyang is chasing a girlfriend. As we all know, whenever you chase a beautiful girl, there'll always be an opponent, or a rival. In order to take one step ahead in this chasing process, Daizhenyang decided to prove to the girl that he's better and more intelligent than any other chaser. So he arranged a simple game: Coin Flip Game. He invited the girl to be the judge.
In this game, n coins are set in a row, where n is smaller than 10^8. They took turns to flip coins, to flip one coin from head-up to tail-up or the other way around. Each turn, one can choose 1, 2 or 3 coins to flip, but the rightmost selected must be head-up before flipping operation. If one cannot make such a flip, he lost.
As we all know, Daizhenyang is a very smart guy (He's famous for his 26 problems and Graph Theory Unified Theory-Network Flow does it all ). So he will always choose the optimal strategy to win the game. And it's a very very bad news for all the competitors.
But the girl did not want to see that happen so easily, because she's not sure about her feelings towards him. So she wants to make Daizhenyang lose this game. She knows Daizhenyang will be the first to play the game. Your task is to help her determine whether her arrangement is a losable situation for Daizhenyang.
For simplicity, you are only told the position of head-up coins. And due to the girl's complicated emotions, the same coin may be described twice or more times. The other coins are tail-up, of course.
Coins are numbered from left to right, beginning with 0.
 
Input
Multiple test cases, for each test case, the first line contains only one integer n (0<=n<=100), representing the number of head-up coins. The second line has n integers a1, a2 … an (0<=ak<10^8) indicating the An-th coin is head up.
 
Output
Output a line for each test case, if it's a losable situation for Daizhenyang can, print "Yes", otherwise output "No" instead.
 
Sample Input
 
0 1 0 4 0 1 2 3
 
Sample Output
 
Yes No Yes
翻硬币的经典例子-MOCK-TURTLES
打表发现:
x: 0 1 2 3 4 5 6 7...
g(x): 1 2 4 7 8 11 13 14...
发现x化作2进制1的个数为奇数时。g(x)= 2*x 否则 g(x) = 2*x+1 SG和即是答案。
#include 
#include
#include
#include
#include
#include
#include
#include
using namespace std;int n;set
st;int main(){ while(~scanf("%d",&n)){ int ans = 0; st.clear(); for(int i = 0; i < n; i++){ int t; scanf("%d",&t); if(st.count(t)==0){ if(t==0) ans ^= 1; else{ int k = t,cnt = 0; while(k){ k = k&(k-1); cnt++; } if(cnt%2==0) ans ^= (2*t+1); else ans ^= 2*t; } st.insert(t); } } if(ans==0){ cout<<"Yes"<

转载地址:http://eqdio.baihongyu.com/

你可能感兴趣的文章
Citrix 宣布 XenServer 全面开源
查看>>
我的友情链接
查看>>
oracle 如果为空则输出0
查看>>
Spfa(最短路求解)
查看>>
使用linux-c编程实现简单的ls命令
查看>>
Q:按F12进行网络安装系统时,一直无法进入,提示加载失败?
查看>>
我的友情链接
查看>>
解决AutoCAD acmgd.dll ARX命令中发现异常
查看>>
[转]passport.js学习笔记
查看>>
10.31T3 其他算法思想
查看>>
day10,11-Python 基本数据类型介绍之数字与字符串(看看就好)
查看>>
JAVA API----Math类和Random类
查看>>
求js数组中最小值
查看>>
UVA10018 Reverse and Add
查看>>
7.16学习进度
查看>>
开源中国+soucetree
查看>>
52、多线程创建的三种方式对比
查看>>
【转载】Jquery验证 Jquery.validate详细解读
查看>>
软件需求规格书
查看>>
用Java axis2调用.net平台的Webservice出现的一些问题
查看>>