发布时间:2026/6/18 21:58:49
质数取石子游戏【牛客tracker  每日一题】
质数取石子游戏时间限制1秒 空间限制256M网页链接牛客tracker牛客tracker 每日一题完成每日打卡即可获得牛币。获得相应数量的牛币能在【牛币兑换中心】换取相应奖品助力每日有题做丰盈牛币日益多题目描述A l i c e AliceAlice和B o b BobBob正在玩一个取石子游戏游戏规则如下有n nn个石子堆在一起A l i c e AliceAlice和B o b BobBob轮流从中取1 11个或任意质数个石子取石子的数量不能超过当前剩余石子数也不能不取谁取走最后一个石子谁就赢了。A l i c e AliceAlice想知道如果自己先手且自己和B o b BobBob都采取最优策略最终谁能获胜输入描述本题包含多组测试数据。第一行输入一个正整数T 1 ≦ T ≦ 10 3 T1≦T≦10^3T1≦T≦103表示数据组数。接下来对于每组测试数据输入一行一个正整数n 1 ≦ n ≦ 10 9 n1≦n≦10^9n1≦n≦109表示初始时石子的数量。输出描述输出共T TT行每行一个字符串。如果A l i c e AliceAlice在最优策略下能够赢得游戏请输出A l i c e AliceAlice否则输出B o b BobBob。示例1输入6 1 2 3 4 10 10000输出Alice Alice Alice Bob Alice Bob解题思路本题属于组合博弈必败态推导问题通过分析取石子规则的数论性质可直接得到胜负判定的简洁规律。取石子规则为每次可取1个或任意质数个。结合数论性质分析除2外所有质数均为奇数因此可取的石子数只有奇数和2两类。通过小范围枚举推导必败态当前玩家必输的局面n 4 n4n4是最小的必败态无论取1、2、3个剩余石子数均为对手的必胜态。进一步可证所有4的倍数都是必败态。若当前石子数是4的倍数无论取1、2还是奇质数对手都可以通过取对应数量1、3或2将石子数重新拉回4的倍数最终让先手面对0石子的败局。反之若石子数不是4的倍数余数为1时取1个、余数为2时取2个、余数为3时取3个均可让对手面对4的倍数的必败态因此先手必胜。最终结论若n nn是4的倍数先手Alice必败否则Alice必胜。每组查询仅需一次取模运算时间复杂度O ( 1 ) O(1)O(1)完美适配n ≤ 10 9 n \le 10^9n≤109、T ≤ 10 3 T \le 10^3T≤103的数据约束。总结核心逻辑通过分析取数的奇偶性与模4性质推导得出4的倍数为必败态其余均为必胜态。关键操作对每组数据计算n m o d 4 n \bmod 4nmod4根据结果直接判定胜负。效率保障纯常数级运算无预处理与循环开销轻松应对超大数值与千级查询量。代码简要说明输入处理读取测试用例组数T TT逐组读取石子数n nn。胜负判定通过n 3等价于对4取模快速判断余数余数非0则Alice获胜余数为0则Bob获胜。输出优化关闭同步流提升输入输出效率每组结果直接输出对应字符串。代码内容#includebits/stdc.husingnamespacestd;#defineendl\ntypedeflonglongll;typedefunsignedlonglongull;typedefvectorvectorllvvt;typedefpairll,llpll;constll N1e310;constll INF1e18;constll M1e610;constll mod1e97;intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);intT;cinT;while(T--){intn;cinn;cout(n3?Alice\n:Bob\n);}return0;}

相关新闻

OptiScaler完整教程:如何为你的游戏解锁终极超分辨率体验
2026/6/18 21:58:49

OptiScaler完整教程:如何为你的游戏解锁终极超分辨率体验

OptiScaler完整教程:如何为你的游戏解锁终极超分辨率体验 【免费下载链接】OptiScaler OptiScaler bridges upscaling/frame gen across GPUs. Supports DLSS2/XeSS/FSR2 inputs, replaces native upscalers, enables FSR-FG/XeFG on non-FG titles. Supports Nukem…

阅读更多
多账号微信机器人如何稳定运行?基于 WechatApi 的工程化落地思路
2026/6/18 20:58:49

多账号微信机器人如何稳定运行?基于 WechatApi 的工程化落地思路

接口测试地址:wechatapi.net 当企业刚开始尝试微信自动化时,通常只会使用一个测试账号,做一些简单的消息收发和关键词回复。但当业务逐渐扩大,企业往往会遇到更复杂的需求:多个客服账号同时在线,多个微信群…

阅读更多
如何对泉州电力负荷数据集进行有效的分析和预测 如何对泉州电力负荷数据集进行有效的分析和预测 深入对泉州电力负荷数据集的分析和建模
2026/6/18 20:58:49

如何对泉州电力负荷数据集进行有效的分析和预测 如何对泉州电力负荷数据集进行有效的分析和预测 深入对泉州电力负荷数据集的分析和建模

如何对泉州电力负荷数据集进行有效的分析和预测 如何对泉州电力负荷数据集进行有效的分析和预测 深入对泉州电力负荷数据集的分析和建模 文章目录第一步:导入必要的库第二步:加载数据并初步探索第三步:数据预处理第四步:特征工程第…

阅读更多
FitGirl游戏启动器完整指南:一站式管理你的游戏收藏库
2026/6/18 23:58:49

FitGirl游戏启动器完整指南:一站式管理你的游戏收藏库

FitGirl游戏启动器完整指南:一站式管理你的游戏收藏库 【免费下载链接】Fitgirl-Repack-Launcher An Electron launcher designed specifically for FitGirl Repacks, utilizing pure vanilla JavaScript, HTML, and CSS for optimal performance and customization…

阅读更多
SCF5250 I2C寄存器深度解析与主从通信实战指南
2026/6/18 23:58:49

SCF5250 I2C寄存器深度解析与主从通信实战指南

1. I2C总线:嵌入式世界的“电话会议”系统如果你玩过嵌入式开发,尤其是和传感器、EEPROM或者各种外设打交道,那你肯定绕不开I2C总线。它就像嵌入式设备之间的一场“电话会议”:只需要两根线(SCL时钟线和SDA数据线&…

阅读更多
基础知识:“十五五“规划(2026-2030)深度分析与产业机会
2026/6/18 23:58:49

基础知识:“十五五“规划(2026-2030)深度分析与产业机会

"十五五"规划(2026-2030)深度分析与产业机会全景当前时间:2026年6月,"十五五"规划纲要已于2026年3月十四届全国人大四次会议通过,正处于全面实施初期。以下基于已公布的规划纲要及权威解读&#x…

阅读更多
总线状态分析器(BSA)原理与MMDS11实战:嵌入式底层调试与性能剖析
2026/6/18 23:58:49

总线状态分析器(BSA)原理与MMDS11实战:嵌入式底层调试与性能剖析

1. 总线状态分析器:嵌入式调试的“X光机”在嵌入式系统开发这个行当里,调试手段的深度直接决定了你定位问题的效率。当程序跑飞、时序错乱、或者性能不达标时,光靠软件层面的单步执行和断点,常常有种隔靴搔痒的感觉。你看到的只是…

阅读更多
【案例分享】郑州GEO工厂哪家口碑好?亲测排名前五揭晓
2026/6/18 23:58:49

【案例分享】郑州GEO工厂哪家口碑好?亲测排名前五揭晓

引言随着生成式AI搜索逐渐成为主流,越来越多的企业开始重视AIGEO服务以提高品牌曝光度和市场竞争力。郑州作为中部地区的重要城市之一,其商业竞争日益激烈,如何在众多企业中脱颖而出成为了关键问题。本文将基于技术实力、落地效果、服务模式等…

阅读更多
SPI EEPROM实战指南:从数据手册到STM32驱动与调试
2026/6/18 22:58:49

SPI EEPROM实战指南:从数据手册到STM32驱动与调试

1. 项目概述:为什么我们需要一份“活”的数据手册?在嵌入式开发这个行当里,数据手册(Datasheet)的地位,不亚于厨师手里的菜谱,或者建筑师手中的蓝图。但很多时候,我们拿到的只是一份…

阅读更多
别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)
2026/6/17 23:21:18

别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)

超越BERT:用Transformers库高效实现文本相似度计算的三种实战方案在自然语言处理领域,文本相似度计算是信息检索、问答系统和推荐系统等应用的核心技术。传统方法如TF-IDF或Word2Vec已逐渐被基于Transformer的预训练模型所取代。Hugging Face的Transform…

阅读更多
Prompt Engineering:重构人机协作的工程化方法论
2026/6/18 4:35:02

Prompt Engineering:重构人机协作的工程化方法论

1. 项目概述:这不是“写提示词”,而是重构人机协作的底层逻辑“Prompt Engineering”这个词,这两年被讲得太多,也太轻飘。很多人把它理解成“给AI发指令的技巧”,甚至简化为“多加几个形容词”“换种说法再试一次”。我…

阅读更多
Anthropic提示层归零:模型即协议的工程实践
2026/6/18 15:04:04

Anthropic提示层归零:模型即协议的工程实践

1. 项目概述:这不是一次普通更新,而是一次架构级“蒸发”“Anthropic Just Shipped the Layer That’s Already Going to Zero”——这个标题一出来,我正在调试一个Claude调用链的终端前停了三秒。不是因为震惊,而是因为熟悉&…

阅读更多
GIT修改用户名
2026/6/17 19:45:33

GIT修改用户名

在GIT中修改用户名可按以下步骤操作: 查看当前git的用户名,使用命令git config --list或git config user.name。修改git用户名,使用命令git config --global user.name "xxx(新的用户名)",将其中…

阅读更多
Win11Debloat:让你的Windows系统重获新生的终极优化工具
2026/6/18 14:35:19

Win11Debloat:让你的Windows系统重获新生的终极优化工具

Win11Debloat:让你的Windows系统重获新生的终极优化工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and …

阅读更多
技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践
2026/6/18 15:23:49

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter m4s-converter是一个…

阅读更多