news 2026/6/18 21:58:22

质数取石子游戏【牛客tracker 每日一题】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
质数取石子游戏【牛客tracker 每日一题】

质数取石子游戏

时间限制:1秒 空间限制:256M

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

A l i c e AliceAliceB o b BobBob正在玩一个取石子游戏,游戏规则如下:

n nn个石子堆在一起,A l i c e AliceAliceB o b BobBob轮流从中取1 11个或任意质数个石子(取石子的数量不能超过当前剩余石子数,也不能不取),谁取走最后一个石子,谁就赢了。

A l i c e AliceAlice想知道,如果自己先手,且自己和B o b BobBob都采取最优策略,最终谁能获胜?

输入描述:

本题包含多组测试数据。
第一行输入一个正整数T ( 1 ≦ T ≦ 10 3 ) T(1≦T≦10^3)T1T103,表示数据组数。
接下来对于每组测试数据,输入一行一个正整数n ( 1 ≦ n ≦ 10 9 ) n(1≦n≦10^9)n1n109,表示初始时石子的数量。

输出描述:

输出共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 nn是4的倍数,先手Alice必败;否则Alice必胜。每组查询仅需一次取模运算,时间复杂度O ( 1 ) O(1)O(1),完美适配n ≤ 10 9 n \le 10^9n109T ≤ 10 3 T \le 10^3T103的数据约束。

总结

核心逻辑:通过分析取数的奇偶性与模4性质,推导得出4的倍数为必败态,其余均为必胜态。
关键操作:对每组数据计算n m o d 4 n \bmod 4nmod4,根据结果直接判定胜负。
效率保障:纯常数级运算,无预处理与循环开销,轻松应对超大数值与千级查询量。

代码简要说明

  1. 输入处理:读取测试用例组数T TT,逐组读取石子数n nn
  2. 胜负判定:通过n & 3(等价于对4取模)快速判断余数:余数非0则Alice获胜,余数为0则Bob获胜。
  3. 输出优化:关闭同步流提升输入输出效率,每组结果直接输出对应字符串。

代码内容

#include<bits/stdc++.h>usingnamespacestd;#defineendl'\n'typedeflonglongll;typedefunsignedlonglongull;typedefvector<vector<ll>>vvt;typedefpair<ll,ll>pll;constll N=1e3+10;constll INF=1e18;constll M=1e6+10;constll mod=1e9+7;intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);intT;cin>>T;while(T--){intn;cin>>n;cout<<(n&3?"Alice\n":"Bob\n");}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/18 21:51:08

Windows 11太臃肿?这个开源工具让你的电脑运行速度提升51%

Windows 11太臃肿&#xff1f;这个开源工具让你的电脑运行速度提升51% 【免费下载链接】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 an…

作者头像 李华
网站建设 2026/6/18 21:50:56

海外闭源模型断供风险凸显:GLM-5.2 开源技术详解与 API 落地实践

一、国家博弈视角&#xff1a;Claude-fable-5 强制下架深层原因1. 美国 AI 出口管制的地缘战略底层逻辑2026年6月9日美西时间发布的Claude-fable-5&#xff0c;仅上线4天便于6月13日全域永久下架&#xff0c;这款顶尖闭源模型无任何缓冲、无任何自救方案&#xff0c;根源在于其…

作者头像 李华
网站建设 2026/6/18 21:47:35

离线环境Selenium自动化测试部署指南:从依赖打包到CI/CD集成

1. 项目概述&#xff1a;为什么我们需要一个离线的Selenium环境&#xff1f;在自动化测试的日常工作中&#xff0c;Selenium几乎是绕不开的名字。它就像测试工程师手中的瑞士军刀&#xff0c;能驱动浏览器完成各种复杂的模拟操作。但不知道你有没有遇到过这样的场景&#xff1a…

作者头像 李华
网站建设 2026/6/18 21:44:26

AI是怎么学会思考的

AI 是怎么学会"思考"的——从一句话生成到一步步推演去年你问 ChatGPT 一道数学题&#xff0c;它张嘴就来&#xff0c;对的少错的多。今年你问 DeepSeek-R1 或 o1&#xff0c;它先想上两分钟再回答&#xff0c;对的多错的少。这一"想"之间&#xff0c;是整…

作者头像 李华
网站建设 2026/6/18 21:43:36

车载雷达架构迭代|全网量产复盘 场景反向定义ODD边界、L2-L4全域硬件升级、分布式转集中架构迭代、多雷达时序融合、整车感知全套工程复现

目录 一、前言&#xff1a;雷达迭代永远服从整车场景&#xff0c;而非硬件参数堆叠 二、分级拆解&#xff1a;L2至L4驾驶等级&#xff0c;雷达刚性需求全域对标 2.1 L2基础辅助驾驶&#xff08;十万级家用量产车型&#xff09; 2.2 L2进阶导航辅助驾驶&#xff08;主流20万…

作者头像 李华