B1299 [LLH邀请赛]巧克力棒 博弈论
这个题一看就是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邀请赛]巧克力棒 博弈论相关推荐
- BZOJ1299 [LLH邀请赛]巧克力棒
怎么又是博弈论...我去 Orz hzwer,这道题其实是可以转化成Nim游戏的! "第一步: 先从n根巧克力棒中取出m(m>0)根,使得这m根巧克力棒的xor和为0,同时使得剩下的n ...
- 【BZOJ】1299: [LLH邀请赛]巧克力棒
[算法]博弈论 [题解]这道题不是典型的SG函数题了. 不把它当成游戏看待,那么这道题是在说n个石子堆,每次可以加入若干个或进行Nim游戏. 我们当前先手,则考虑构造必败态来获胜. 当前已加入的NIm ...
- BZOJ1299[LLH邀请赛]巧克力棒——Nim游戏+搜索
题目描述 TBL和X用巧克力棒玩游戏.每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度.TBL先手两人轮流,无法操作的人输. 他们以最佳策略一共进行了10轮(每次一盒). ...
- 信奥中的数学:博弈论
第7章 博弈论(<信息学奥赛一本通 提高篇>第6部分 数学基础) 例1 取石子游戏 取石子游戏(hdu1527 博弈) - 寻找&星空の孩子 - 博客园 取石子游戏_whiterb ...
- 2016广东工业大学新生杯决赛网络同步赛暨全国新生邀请赛
2016广东工业大学新生杯决赛网络同步赛暨全国新生邀请赛 Ploblem A : pigofzhou的巧克力棒 原题链接:http://gdutcode.sinaapp.com/problem.p ...
- 2021ICPC西安邀请赛赛后总结
6.5 蓝桥杯国赛,到隔壁友校打的,下午打完匆匆上了火车.晚上到住宿的地方再吃完饭已经11点了,跟队友聊天聊到12点就都睡了. 6.6热身赛 早上热身赛中途进场,C了两题,又下去照团队像,之后又是开幕 ...
- 【组队学习】【24期】河北邀请赛(二手车价格预测)
河北邀请赛(二手车价格预测) 开源内容: https://github.com/datawhalechina/team-learning-data-mining/tree/master/SecondH ...
- 【直播】王茂霖:二手车交易价格预测-千变万化特征工程(河北高校数据挖掘邀请赛)
二手车交易价格预测-千变万化特征工程 目前 河北高校数据挖掘邀请赛 正在如火如荼的进行中.为了大家更好的参赛,王茂霖分享了 从0梳理1场数据挖掘赛事!,完整梳理了从环境准备.数据读取.数据分析.特征工 ...
- 【直播】王茂霖:二手车交易价格预测 Baseline 提高(河北高校数据挖掘邀请赛)
二手车交易价格预测 Baseline 提高 目前 河北高校数据挖掘邀请赛 正在如火如荼的进行中.为了大家更好的参赛,王茂霖分享了 从0梳理1场数据挖掘赛事!,完整梳理了从环境准备.数据读取.数据分析. ...
- 【直播】鱼佬:数据挖掘师之路(河北高校数据挖掘邀请赛)
数据挖掘师之路 目前 河北高校数据挖掘邀请赛 正在如火如荼的进行中.为了大家更好的参赛,王茂霖分享了 从0梳理1场数据挖掘赛事!,完整梳理了从环境准备.数据读取.数据分析.特征工程到数据建模的整个过程 ...
最新文章
- 世界各大天文台联合预警:今晚公布“引力波重要发现”
- kd tree python 搜索
- pyqt5知识:如何接受密码输入?
- Oracle通过OCI批量加载需要注意的问题
- python语言编程中的保留字_Python语言程序设计整理
- php伪协议实现命令执行的七种姿势
- Execution in the Kingdom of Nouns (名词王国中的死刑)
- scala 环境变量_Scala变量的范围
- PHP PDO连接PostgreSQL报错 SCRAM authentication requires libpq version 10 or above in解决
- 麒麟系统stty测试串口
- ctfshow 网络迷踪-来点福利
- 华为天才少年稚晖君自制「电子」机器人!应用OpenPose,项目已开源!
- IAR使用ST-Link下载仿真
- 原来微信显示“对方正在输入”,还有这样的含义,真的让人很扎心
- mysql 统计不同成绩阶段的人数
- 文字识别(二)--字符识别技术总览
- Android Canvas 平移、缩放、旋转的理解
- 【数据仓库】什么是 Azure Synapse,它与 Azure Data Bricks 有何不同?
- 相机标定(2): 单目相机标定总结
- Python-鼠标自动点击
热门文章
- php 获取pdf中的图片,使用PHP从PDF中提取图像
- 7个等级 容灾等级_容灾的等级
- 互联网晚报 | 11月10日 星期三 | 华为捐赠欧拉开源操作系统;微信支持导出个人信息;12306上线铁水联运服务...
- 小程序发送公众号模板消息+PHP后台
- 两年,关于我的四台3D打印机
- 结构体里数组的初始化
- ODATA入门:$inlinecount,$top,$skip实现
- 甲骨文裁员是在为云业务转型太慢埋单吗?
- The Amazon Appstore is not currently available in your country
- msxml 6.0 dll 导入问题