蒟蒻第二篇题解

题目描述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题解相关推荐

  1. qlu第二场排位赛B题题解

    题目链接 当咖波翻倍2次及以上的时候,咖波的等级就会是 4 ∗ a ∗ 2 k 4*a*2^k 4∗a∗2k,这时因为咖波的等级一定4的倍数,那么最好的情况肯定就是狗狗的等级与4的倍数的最小差,而翻倍 ...

  2. 第十二届蓝桥杯省赛JavaC组【第二场】真题——详细答案对照(完整版)

    目录 #A 浮点数 #B 求余 #C 双阶乘 #D 格点 #E 整数分解 #F 3 的倍数 #G 特殊年份 #H 小平方 #I 完全平方数 #J 负载均衡 #A 浮点数 本题总分:5 分 问题描述 I ...

  3. 集美大学第七届团体程序设计天梯赛第二场排位赛题解

    目录 赛事总结 比赛形式 验题 题型 题目难度 L1 L1 - 1 无职转生之转生成何大佬就要拿到ACMWF----『登峰造极』 题目大意 解题思路 代码 L1 - 2 复读机 思路 代码实现 L1 ...

  4. 携程编程大赛 (预赛第二场)第一题【剪刀石头布】

    Problem Description 现有M个人一起玩剪刀石头布,以1-M编号,每人出一种,出过不再改变,但是我们并不知道它到底是哪一种. (其中石头赢剪刀,剪刀赢布,布赢石头,一样则平) 裁判用两 ...

  5. 【蓝桥杯】第十三届省赛第二场 Python 大学 B 组 题解

    试题 A: 练习 ABC 试题 B: 三角回文数 from math import * a=sqrt(2*20220514) print(a) print(6359*6360/2) for i in ...

  6. 【蓝桥杯嵌入式】第十三届蓝桥杯嵌入式省赛(第二场)程序设计试题及其题解

    原题展示

  7. 2012百度之星冬季赛第二场第二题 消去游戏I

    2012百度之星冬季赛第二场第二题 消去游戏I 题目: Alice和Bob又开始发明新游戏了,这回的名字叫消去游戏. 消去游戏的道具是一堆排成一行的积木,每个积木上面都有一个数字Ai.同时游戏也需要M ...

  8. 2021牛客暑假多校第二场 K题—Stack (链表)

    2021牛客暑假多校第二场 K题-Stack 题意: 一个单调栈,给你第n次操作时里面数据的数量,让你给出里面塞入的会是哪些数字. 主要思想:链表模拟 (代码里面有注释) (题解一开始说的是拓扑,后来 ...

  9. 2020年第十一届蓝桥杯C/C++ B组第二场省赛真题

    2020年第十一届蓝桥杯C/C++ B组第二场省赛真题 第一题 门牌制作 题目描述 小蓝要为一条街的住户制作门牌号.这条街一共有2020位住户,门牌号从1到2020编号.小蓝制作门牌的方法是先制作0到 ...

最新文章

  1. 在物理学的语言里,“生命”是什么?
  2. IntelliJ IDEA 安装问题解决
  3. 【工业控制】PolyWorks培训教程-设备转站
  4. 不止代码:乘法游戏 题解(区间dp)
  5. JZOJ 3515. 软件公司
  6. linux资源异常无法fork,linux 下 fork 后的文件资源处理问题
  7. DuiLib教程--认识她
  8. 四叶草引导linux教程,百科全书之黑苹果四叶草引导配置 boot讲解
  9. ssr的pac中加入学校图书馆数据库访问pac
  10. 中兴交换机8912E配置
  11. 心不唤物,物不至,聊聊积极心态重要性
  12. BottomNavigationView+ViewPager+Fragment 底部导航按钮
  13. 软件测试周刊(第30期):专注 力量 敏捷 协作
  14. mysql中约束由数字构成_MySQL 数据类型和约束(外键是重点)
  15. 手码万字-带你全面了解存储基础知识
  16. 如何将Windows8系统的磁盘格式(GPT格式)转换成Windows 7系统的磁盘格式(MBR格式)
  17. 为什么说伊利丹是程序员?
  18. 基于c语言图像边缘检测的程序,图像边缘检测之拉普拉斯(Laplacian)C++实现
  19. 2017清北学堂(提高组精英班)集训笔记——基础算法
  20. Spring和SpringMVC架构

热门文章

  1. Failed to load session “ubuntu”的解决办法
  2. PyQuery用法详解
  3. 泰山OFFICE技术讲座:着重号的绘制Y坐标
  4. ZBrush常用快捷键汇总,游戏建模小白入门必备,收藏起来
  5. FoobarFubar
  6. 史上最强攻略!手把手教你建「数据中台」!
  7. Flink部署——内存配置
  8. 公众号发送卡密指定回复内容发卡系统关注送卡密[更新1.1.27]
  9. java面试可以带作品吗?java面试要带什么?
  10. 《跟旺旺老师学Java》_第一章Java简介与JDK部署_第一部分Java是什么