这个题一看就是nim游戏的变形。每次先手取出巧克力就是新建一个nim,但假如先手取一个为0的而且无论后手怎么取剩下的都无法为零就行了。然后用dfs跑。

题干:

DescriptionTBL和X用巧克力棒玩游戏。每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度。TBL先手两人轮流,无法操作的人输。 他们以最佳策略一共进行了10轮(每次一盒)。你能预测胜负吗?
Input输入数据共20行。 第2i-1行一个正整数Ni,表示第i轮巧克力棒的数目。 第2i行Ni个正整数Li,j,表示第i轮巧克力棒的长度。
Output输出数据共10行。 每行输出“YES”或“NO”,表示TBL是否会赢。如果胜则输出"NO",否则输出"YES"

代码:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<ctime>
#include<queue>
#include<algorithm>
#include<cstring>
using namespace std;
#define duke(i,a,n) for(int i = a;i <= n;i++)
#define lv(i,a,n) for(int i = a;i >= n;i--)
#define clean(a) memset(a,0,sizeof(a))
const int INF = 1 << 30;
typedef long long ll;
typedef double db;
template <class T>
void read(T &x)
{char c;bool op = 0;while(c = getchar(), c < '0' || c > '9')if(c == '-') op = 1;x = c - '0';while(c = getchar(), c >= '0' && c <= '9')x = x * 10 + c - '0';if(op) x = -x;
}
template <class T>
void write(T x)
{if(x < 0) putchar('-'), x = -x;if(x >= 10) write(x / 10);putchar('0' + x % 10);
}
int n,sg[2020],a[2010],found;
void dfs(int x,int used,int now)
{if(x == n + 1){if(!now && used > 0) found = 1;return;}dfs(x + 1,used,now);dfs(x + 1,used + 1,now ^ a[x]);
}
int main()
{int k = 10;while(k--){memset(sg,-1,sizeof(sg));found = 0;read(n);duke(i,1,n)read(a[i]);dfs(1,0,0);if(found == 1)printf("NO\n");elseprintf("YES\n");}return 0;
}

转载于:https://www.cnblogs.com/DukeLv/p/9727048.html

B1299 [LLH邀请赛]巧克力棒 博弈论相关推荐

  1. BZOJ1299 [LLH邀请赛]巧克力棒

    怎么又是博弈论...我去 Orz hzwer,这道题其实是可以转化成Nim游戏的! "第一步: 先从n根巧克力棒中取出m(m>0)根,使得这m根巧克力棒的xor和为0,同时使得剩下的n ...

  2. 【BZOJ】1299: [LLH邀请赛]巧克力棒

    [算法]博弈论 [题解]这道题不是典型的SG函数题了. 不把它当成游戏看待,那么这道题是在说n个石子堆,每次可以加入若干个或进行Nim游戏. 我们当前先手,则考虑构造必败态来获胜. 当前已加入的NIm ...

  3. BZOJ1299[LLH邀请赛]巧克力棒——Nim游戏+搜索

    题目描述 TBL和X用巧克力棒玩游戏.每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度.TBL先手两人轮流,无法操作的人输. 他们以最佳策略一共进行了10轮(每次一盒). ...

  4. 信奥中的数学:博弈论

    第7章 博弈论(<信息学奥赛一本通 提高篇>第6部分 数学基础) 例1 取石子游戏 取石子游戏(hdu1527 博弈) - 寻找&星空の孩子 - 博客园 取石子游戏_whiterb ...

  5. 2016广东工业大学新生杯决赛网络同步赛暨全国新生邀请赛

    2016广东工业大学新生杯决赛网络同步赛暨全国新生邀请赛 Ploblem A :   pigofzhou的巧克力棒 原题链接:http://gdutcode.sinaapp.com/problem.p ...

  6. 2021ICPC西安邀请赛赛后总结

    6.5 蓝桥杯国赛,到隔壁友校打的,下午打完匆匆上了火车.晚上到住宿的地方再吃完饭已经11点了,跟队友聊天聊到12点就都睡了. 6.6热身赛 早上热身赛中途进场,C了两题,又下去照团队像,之后又是开幕 ...

  7. 【组队学习】【24期】河北邀请赛(二手车价格预测)

    河北邀请赛(二手车价格预测) 开源内容: https://github.com/datawhalechina/team-learning-data-mining/tree/master/SecondH ...

  8. 【直播】王茂霖:二手车交易价格预测-千变万化特征工程(河北高校数据挖掘邀请赛)

    二手车交易价格预测-千变万化特征工程 目前 河北高校数据挖掘邀请赛 正在如火如荼的进行中.为了大家更好的参赛,王茂霖分享了 从0梳理1场数据挖掘赛事!,完整梳理了从环境准备.数据读取.数据分析.特征工 ...

  9. 【直播】王茂霖:二手车交易价格预测 Baseline 提高(河北高校数据挖掘邀请赛)

    二手车交易价格预测 Baseline 提高 目前 河北高校数据挖掘邀请赛 正在如火如荼的进行中.为了大家更好的参赛,王茂霖分享了 从0梳理1场数据挖掘赛事!,完整梳理了从环境准备.数据读取.数据分析. ...

  10. 【直播】鱼佬:数据挖掘师之路(河北高校数据挖掘邀请赛)

    数据挖掘师之路 目前 河北高校数据挖掘邀请赛 正在如火如荼的进行中.为了大家更好的参赛,王茂霖分享了 从0梳理1场数据挖掘赛事!,完整梳理了从环境准备.数据读取.数据分析.特征工程到数据建模的整个过程 ...

最新文章

  1. 世界各大天文台联合预警:今晚公布“引力波重要发现”
  2. kd tree python 搜索
  3. pyqt5知识:如何接受密码输入?
  4. Oracle通过OCI批量加载需要注意的问题
  5. python语言编程中的保留字_Python语言程序设计整理
  6. php伪协议实现命令执行的七种姿势
  7. Execution in the Kingdom of Nouns (名词王国中的死刑)
  8. scala 环境变量_Scala变量的范围
  9. PHP PDO连接PostgreSQL报错 SCRAM authentication requires libpq version 10 or above in解决
  10. 麒麟系统stty测试串口
  11. ctfshow 网络迷踪-来点福利
  12. 华为天才少年稚晖君自制「电子」机器人!应用OpenPose,项目已开源!
  13. IAR使用ST-Link下载仿真
  14. 原来微信显示“对方正在输入”,还有这样的含义,真的让人很扎心
  15. mysql 统计不同成绩阶段的人数
  16. 文字识别(二)--字符识别技术总览
  17. Android Canvas 平移、缩放、旋转的理解
  18. 【数据仓库】什么是 Azure Synapse,它与 Azure Data Bricks 有何不同?
  19. 相机标定(2): 单目相机标定总结
  20. Python-鼠标自动点击

热门文章

  1. php 获取pdf中的图片,使用PHP从PDF中提取图像
  2. 7个等级 容灾等级_容灾的等级
  3. 互联网晚报 | 11月10日 星期三 | 华为捐赠欧拉开源操作系统;微信支持导出个人信息;12306上线铁水联运服务...
  4. 小程序发送公众号模板消息+PHP后台
  5. 两年,关于我的四台3D打印机
  6. 结构体里数组的初始化
  7. ODATA入门:$inlinecount,$top,$skip实现
  8. 甲骨文裁员是在为云业务转型太慢埋单吗?
  9. The Amazon Appstore is not currently available in your country
  10. msxml 6.0 dll 导入问题