当前位置:网站首页>石子 无限拿
石子 无限拿
2022-08-04 12:36:00 【EdwinAze】
石子 无限拿
给定 n 堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。
问如果两人都采用最优策略,先手是否必胜。
思路
若为 2, 3堆, 先手在3堆里拿1个, 为 2 2。
之后只要跟后手拿的数量相同, 后手一定失败。
定理:
a 1 ∧ a 2 ∧ a 3 . . . ∧ a n = 0 先手必败 a_{1} \wedge a_{2} \wedge a_{3}...\wedge a_{n}= 0 先手必败 a1∧a2∧a3...∧an=0先手必败
证明:
0 ∧ 0 ∧ 0 ∧ 0... ∧ 0 = 0 a 1 ∧ a 2 ∧ a 3 . . . ∧ a n ≠ 0 \begin{align*} 0\wedge0\wedge0\wedge0...\wedge0 = 0\\ a_{1} \wedge a_{2} \wedge a_{3}...\wedge a_{n} \not= 0 \\ & \end{align*} 0∧0∧0∧0...∧0=0a1∧a2∧a3...∧an=0
不等于0时, 设结果为 x x x
x x x 的二进制表示为 10100100 10100100 10100100
a i a_i ai的二进制表示 1100100110 1100100110 1100100110
一定存在 a i a_i ai 在 x x x 最高位 k k k 位上为1。
则 a i ∧ x < a i a_{i} \wedge x < a_i ai∧x<ai , 那么就拿走 少的那一部分。
此时 a i = a i ∧ x a_{i}= a_{i} \wedge x ai=ai∧x 带入到原来式子后得到:
x ∧ x = 0 x \wedge x = 0 x∧x=0
故先手必赢。
等于0时, 设同样可以拿走一些, 剩下 a i ′ a_i' ai′个
a 1 ∧ a 2 ∧ a 3 . . . a i ∧ . . ∧ a n = 0 a 1 ∧ a 2 ∧ a 3 . . . a i ′ ∧ . . ∧ a n = 0 式子相异或得 a i ∧ a i ′ = 0 a i = a i ′ \begin{align*} a_{1} \wedge a_{2} \wedge a_{3}. ..a_{i}\wedge..\wedge a_{n} = 0\\ a_{1} \wedge a_{2} \wedge a_{3}. ..a_{i}'\wedge..\wedge a_{n} = 0\\ 式子相异或得 \\ a_{i}\wedge a_{i}' = 0 \\ a_{i} = a_{i}' \end{align*} a1∧a2∧a3...ai∧..∧an=0a1∧a2∧a3...ai′∧..∧an=0式子相异或得ai∧ai′=0ai=ai′
代码
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int readInt()
{
int t ;
scanf("%d", &t);
return t;
}
int n;
int main()
{
int x;
cin >> n;
cin >> x;
n -= 1;
while(n--)
x ^= readInt();
if(x) cout << "Yes\n";
else cout << "No\n";
}
边栏推荐
猜你喜欢

视觉SLAM十四讲学习笔记 第7讲 视觉里程计

手搓一个“七夕限定”,用3D Engine 5分钟实现烟花绽放效果

Diffusion Models:生成扩散模型

"Lonely Walking on the Moon" is a powerful medicine, it can't cure the internal friction of happy twist

分布式链路追踪Jaeger + 微服务Pig在Rainbond上的实践分享

双目立体视觉笔记(二)

num_workers

Nacos手摸手教学【二】Nacos注册中心

Focusing on data sources, data quality and model performance to build a credit profile of small and micro enterprises

鲜花“刺客”收割七夕
随机推荐
项目里的各种配置,你都了解吗?
Opencv学习之ORB特征提取和匹配
倒计时 3 天|一起看云原生 Meetup 的六大议题
A comprehensive understanding of MOS tubes, an article is enough
使用SQLServer复制数据库
Small program on how to play in the construction of e-government service platform value
《会面》-凯瑟琳曼斯菲尔德(徐志摩译)
【黑马早报】尚乘数科上市13天,市值超阿里;北大终止陈春花聘用合同;新东方花近200亿退学费和遣散费;张小泉75%产品贴牌代工...
罗振宇的A股梦,咋这么难圆?
break与continue超详解!!!
redisTemplate存取List遇到的坑
双目立体视觉笔记(二)
从零开始配置 vim(6)——缩写
Practical sharing of distributed link tracking Jaeger + microservice Pig on Rainbond
博云入选 Gartner 中国 DevOps 代表厂商
【软考 系统架构设计师】软件架构设计② 软件架构风格
动规(16)-并查集基础题——格子游戏
新消费、出海、大健康......电子烟寻找“避风港”
【PHP实现微信公众平台开发—基础篇】第1章 课程介绍
Motion Rule (16)-Union Check Basic Questions-Relations