FJNU2019级第二场排位赛D题Nim题解
蒟蒻第二篇题解
题目描述Alice和Bob两个熊孩子又开始玩游戏了,这次他们和往常一样玩一个叫Nim的游戏,但是他们都知道如何在这个游戏中以最优策略赢对方,因此他们将Nim游戏规则稍微修改了下,首先他们将多堆石子变成单堆石子,接着两个人轮流取石子,但是取石子是有限制的,Alice说必须要选择质数个石子,但是Bob不喜欢数字2并且特别喜欢数字1,因此他要求一定不能选择2两个石子,但是可以选择1个石子,拿走最后若干个石子的人赢。现在请你帮忙计算,如果他们都以最优的策略谁会赢呢?(当然Alice先手)输入输入包含多组样例,第一行一个数字T表示样例个数 (T <= 100)
对于每组样例只有一行一个数字n,表示他们玩的游戏石子的个数 (1 <= n <= 1e9 )
输出对于每组样例,只需要输出一个行,如果Alice赢则输出"Alice",否则输出"Bob"样例输入
1
10
样例输出
Bob
我做题是列举发现当n是奇数是,总是先手胜,而当n是偶数时,总是后手胜,现在来证明一下:当n是除2外的素数时,显然先手胜,此时n为奇数,当n是不是素数的奇数时,因为只能取素数或1,当先手取完剩下的石子数必是偶数,而大于2的偶数必能由两个质数相加所得,情况一:后手取的是素数个石子,那么剩下的石子数为素数个,先手可一次取完,先手胜,情况二:后手取1个石子时,先手也可以取1,然后剩下的石子数还是偶数,如此循环,最后剩下两个石子时,后手先取,且只能取1,剩一个,先手胜利,由此也可以看出有偶数个石子时先取的必输,所以当石子初始数为偶数时先手必输。
#include<iostream>using namespace std;int main(){ios::sync_with_stdio(false);int t;cin>>t;while(t--){int n;cin>>n;if(n&1) cout<<"Alice"<<endl;else cout<<"Bob"<<endl;}return 0;
}
FJNU2019级第二场排位赛D题Nim题解相关推荐
- qlu第二场排位赛B题题解
题目链接 当咖波翻倍2次及以上的时候,咖波的等级就会是 4 ∗ a ∗ 2 k 4*a*2^k 4∗a∗2k,这时因为咖波的等级一定4的倍数,那么最好的情况肯定就是狗狗的等级与4的倍数的最小差,而翻倍 ...
- 第十二届蓝桥杯省赛JavaC组【第二场】真题——详细答案对照(完整版)
目录 #A 浮点数 #B 求余 #C 双阶乘 #D 格点 #E 整数分解 #F 3 的倍数 #G 特殊年份 #H 小平方 #I 完全平方数 #J 负载均衡 #A 浮点数 本题总分:5 分 问题描述 I ...
- 集美大学第七届团体程序设计天梯赛第二场排位赛题解
目录 赛事总结 比赛形式 验题 题型 题目难度 L1 L1 - 1 无职转生之转生成何大佬就要拿到ACMWF----『登峰造极』 题目大意 解题思路 代码 L1 - 2 复读机 思路 代码实现 L1 ...
- 携程编程大赛 (预赛第二场)第一题【剪刀石头布】
Problem Description 现有M个人一起玩剪刀石头布,以1-M编号,每人出一种,出过不再改变,但是我们并不知道它到底是哪一种. (其中石头赢剪刀,剪刀赢布,布赢石头,一样则平) 裁判用两 ...
- 【蓝桥杯】第十三届省赛第二场 Python 大学 B 组 题解
试题 A: 练习 ABC 试题 B: 三角回文数 from math import * a=sqrt(2*20220514) print(a) print(6359*6360/2) for i in ...
- 【蓝桥杯嵌入式】第十三届蓝桥杯嵌入式省赛(第二场)程序设计试题及其题解
原题展示
- 2012百度之星冬季赛第二场第二题 消去游戏I
2012百度之星冬季赛第二场第二题 消去游戏I 题目: Alice和Bob又开始发明新游戏了,这回的名字叫消去游戏. 消去游戏的道具是一堆排成一行的积木,每个积木上面都有一个数字Ai.同时游戏也需要M ...
- 2021牛客暑假多校第二场 K题—Stack (链表)
2021牛客暑假多校第二场 K题-Stack 题意: 一个单调栈,给你第n次操作时里面数据的数量,让你给出里面塞入的会是哪些数字. 主要思想:链表模拟 (代码里面有注释) (题解一开始说的是拓扑,后来 ...
- 2020年第十一届蓝桥杯C/C++ B组第二场省赛真题
2020年第十一届蓝桥杯C/C++ B组第二场省赛真题 第一题 门牌制作 题目描述 小蓝要为一条街的住户制作门牌号.这条街一共有2020位住户,门牌号从1到2020编号.小蓝制作门牌的方法是先制作0到 ...
最新文章
- 在物理学的语言里,“生命”是什么?
- IntelliJ IDEA 安装问题解决
- 【工业控制】PolyWorks培训教程-设备转站
- 不止代码:乘法游戏 题解(区间dp)
- JZOJ 3515. 软件公司
- linux资源异常无法fork,linux 下 fork 后的文件资源处理问题
- DuiLib教程--认识她
- 四叶草引导linux教程,百科全书之黑苹果四叶草引导配置 boot讲解
- ssr的pac中加入学校图书馆数据库访问pac
- 中兴交换机8912E配置
- 心不唤物,物不至,聊聊积极心态重要性
- BottomNavigationView+ViewPager+Fragment 底部导航按钮
- 软件测试周刊(第30期):专注 力量 敏捷 协作
- mysql中约束由数字构成_MySQL 数据类型和约束(外键是重点)
- 手码万字-带你全面了解存储基础知识
- 如何将Windows8系统的磁盘格式(GPT格式)转换成Windows 7系统的磁盘格式(MBR格式)
- 为什么说伊利丹是程序员?
- 基于c语言图像边缘检测的程序,图像边缘检测之拉普拉斯(Laplacian)C++实现
- 2017清北学堂(提高组精英班)集训笔记——基础算法
- Spring和SpringMVC架构
热门文章
- Failed to load session “ubuntu”的解决办法
- PyQuery用法详解
- 泰山OFFICE技术讲座:着重号的绘制Y坐标
- ZBrush常用快捷键汇总,游戏建模小白入门必备,收藏起来
- FoobarFubar
- 史上最强攻略!手把手教你建「数据中台」!
- Flink部署——内存配置
- 公众号发送卡密指定回复内容发卡系统关注送卡密[更新1.1.27]
- java面试可以带作品吗?java面试要带什么?
- 《跟旺旺老师学Java》_第一章Java简介与JDK部署_第一部分Java是什么