首页 > 其他分享 >2024.6.13

2024.6.13

时间:2024-06-13 17:45:05浏览次数:5  
标签:13 October 2024.6 Roy wins 石子 leq

2024.6.13 【痛苦的,热烈的,误解的,无解的,快乐的,解脱的】

Thursday 五月初八


<theme = oi-"game theory">

P4018 Roy&October之取石子

Roy&October之取石子

题目背景

Roy 和 October 两人在玩一个取石子的游戏。

题目描述

游戏规则是这样的:共有 \(n\) 个石子,两人每次都只能取 \(p^k\) 个( \(p\) 为质数,\(k\) 为自然数,且 \(p^k\) 小于等于当前剩余石子数),谁取走最后一个石子,谁就赢了。

现在 October 先取,问她有没有必胜策略。

若她有必胜策略,输出一行 October wins!;否则输出一行 Roy wins!

输入格式

第一行一个正整数 \(T\),表示测试点组数。

第 \(2\) 行\(\sim\) 第 \(T+1\) 行,一行一个正整数 \(n\),表示石子个数。

输出格式

\(T\) 行,每行分别为 October wins!Roy wins!

样例 #1

样例输入 #1

3
4
9
14

样例输出 #1

October wins!
October wins!
October wins!

提示

对于 \(30\%\) 的数据,\(1\leq n\leq 30\);

对于 \(60\%\) 的数据,\(1\leq n\leq 10^6\);

对于 \(100\%\) 的数据,\(1\leq n\leq 5\times 10^7\), \(1\leq T\leq 10^5\)。

(改编题)

//2024.6.13
//by white_ice
//Roy&October之取石子 | P4018
#include<bits/stdc++.h>
//#include"fopen.cpp"
using namespace std;
#define itn int
constexpr int oo = 0;

int t;
int n;

signed main(){
    //fre();

    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);

    cin >> t;
    while (t--){
        cin >> n;
        if (n%6)
            cout << "October wins!" << '\n';
        else cout << "Roy wins!" << '\n';
    }
    return 0;
}

从1,2,3,4,5几个角度考虑,

这几个都能一次取完,先手胜利。

6时,只能选两次,

后手必胜。

当n为6的倍数时,无论先手区多少,

如k,后手均可以取(k/6+1)*6-k个使其保留在六的倍数,

所以先手必胜。

标签:13,October,2024.6,Roy,wins,石子,leq
From: https://www.cnblogs.com/white-ice/p/18246415

相关文章

  • 2024.6.10
    01背包问题详解01背包是一种动态规划问题。动态规划的核心就是状态转移方程,本文主要解释01背包状态转移方程的原理。问题描述01背包问题可描述为如下问题:有一个容量为V的背包,还有n个物体。现在忽略物体实际几何形状,我们认为只要背包的剩余容量大于等于物体体积,那就可以装进背包里......
  • 哪款工程项目管理系统最适合你?一文看懂顶级13款
    国内外主流的13款工程项目管理系统软件:Worktile、中建软件、泛微建筑项目管理软件、LiquidPlanner、Wrike、建文软件、广联达、MicrosoftProject、泛普软件、Procore、Buildertrend、Fieldwire、AutodeskConstructionCloud。在快速变化的工程领域,有效的项目管理是成功的关键......
  • 文献精读_2024.06.13
    Universalandextensiblelanguage-visionmodelsfororgansegmentationandtumordetectionfromabdominalcomputedtomography来源:https://doi.org/10.1016/j.media.2024.103226GitHub仓库:https://github.com/ljwztc/CLIP-Driven-Universal-Model第一眼,仓库上面放......
  • 2024.6.1
    8-4【Python0028】分段函数图形绘制分数10全屏浏览作者 doublebest单位 石家庄铁道大学【题目描述】已知,在区间绘制该分段函数的曲线,以及由该曲线所包围的填充图形。【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。......
  • 2024.5.13
    8-5【Python0006】爬楼梯分数10全屏浏览作者 doublebest单位 石家庄铁道大学【题目描述】假设一段楼梯共n(n>1)个台阶,小朋友一步最多能上3个台阶,那么小朋友上这段楼梯一共有多少种方法。【练习要求】请给出源代码程序和运行测试结果,源代码程......
  • 6.13 个人总结
    在这个学期的学习旅程中,我作为软件工程专业的学生,经历了从理论到实践的全方位锻炼,不仅在专业技能上取得了显著进步,也在团队协作、项目管理和自我认知方面获得了宝贵的经验。以下是对我本学期学习经历的全面总结,包括对上述问题的深入思考。 1.课程计划完成程度回顾我的第一周课......
  • (nice!!!)LeetCode 2813. 子序列最大优雅度(反悔贪心)
    2813.子序列最大优雅度思路:1.先对数组items按profit进行降序排序。2.把前k个最大的profit选中3.再遍历剩余的项目,看看能不能增加类别的数量。因为profit是递减的,所以只有类别的数量能增大的情况下,才考虑从选中的k个项目当中删掉重复的类别项目里面的最小profit。细节......
  • 力扣刷题记录: 1339. 分裂二叉树的最大乘积
        本题是第174场周赛的Q3,LC竞赛分为1675.方法一.递归(超时)    单纯使用递归对每一个节点进行遍历,代码如下:classSolution{longlongans=-1;public:intmaxProduct(TreeNode*root){longlongtotal_sum=sum(root);......
  • 洛谷 P1352 没有上司的舞会
    题目链接:没有上司的舞会思路题解#include<bits/stdc++.h>usingnamespacestd;#definelllonglongconstintN=1e5+10;intdp[N][2],happy[N],subordinate[N],cnt,head[N],nex[N],edge[N];//链式向前星存储边voidadd(intx,inty){nex[++cnt]=......
  • LeetCode132双周赛T3,搜索和DP
    求出最长好子序列Idfs(i,j)表示以nums[i]结尾的,至多有j对相邻元素不同的最长序列的长度转移:枚举p<i,如果nums[p]!=nums[i],就从dfs(p,j-1)+1转移过来如果nums[p]==nums[i],就从dfs(p;j)+1转移过来classSolution{public:intmaximumLength(vector<int......