【“科大讯飞杯”第十七届同济大学】A 张老师和菜哭武的游戏
【题目传送门】~
题目描述
天才程序员菜哭武和张老师有一天到一个城市旅游,旅途中菜哭武觉得无聊就想和张老师玩一个游戏。菜哭武有n个石子,每个石子都标有1到n之间到数,且各不相同,一开始他们会随机从这堆石子选一个石子放置到一个集合中,张老师选的数是a,菜哭武选的是b(a和b不相同)。接下来菜哭武和张老师轮流按照如下规则拿走一个石子:当石子x能被拿走时,当且仅当集合存在y和z,满足x等于y+z或者y-z,当x被拿走时,把它放到集合中。谁完成最后一轮操作时,谁获胜。张老师总是先手,于是张老师就好奇当决定好a和b时,他是否总是能获胜,你能帮助一下张老师吗?
输入描述:
第一行一个整数T(1≤T≤500),表示共有T组测试数据。对于每组测试数据,第一行三个整数n(2≤n≤20000)、a和b(1≤a,b≤n, a≠b)。
输出描述:
若张老师能获胜输出Yes,反之No。
示例1
输入
16
2 1 2
3 1 3
67 1 2
100 1 2
8 6 8
9 6 8
10 6 8
11 6 8
12 6 8
13 6 8
14 6 8
15 6 8
16 6 8
1314 6 8
1994 1 13
1994 7 12
输出
No
Yes
Yes
No
No
No
Yes
Yes
No
No
Yes
Yes
No
Yes
No
No
这道题用到了拓展欧几里得,不懂得小伙伴可以自行了解一下~
分析思路:对于1-n中的数字,想要被拿出必然有p=xa+by=k*gcd(a,b), 则所有可拿出的数字都为gcd(a,b)的倍数,所以n/gcd(a,b)即为可以拿出的最大次数,当为奇数时,共有奇数个可拿出的p,张老师获胜,反之张老师失败。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{int t;cin>>t;while(t--){int n,a,b;cin>>n>>a>>b;if((n/(__gcd(a,b))%2==1))cout<<"Yes"<<endl;else cout<<"No"<<endl;}return 0;
}
【“科大讯飞杯”第十七届同济大学】A 张老师和菜哭武的游戏相关推荐
- “科大讯飞杯”第十七届同济大学程序设计预选赛暨高校网络友谊赛 G 硬币游戏Ⅲ SG函数 /Mutli-SG 游戏 终于补完了……
这题是Mutli-SG 的变形. 本质还是SG函数. 不考虑算法复杂度来看: 每个局面的SG值等于只有一个硬币的SG值的异或和. 我们这样想:把长度为n的字符串当成n堆石子. 从左往右第i位为1表示第 ...
- “科大讯飞杯”第十七届同济大学程序设计预选赛暨高校网络友谊赛 F.排列计算
"科大讯飞杯"第十七届同济大学程序设计预选赛暨高校网络友谊赛 F.排列计算 题目链接 题目描述 天才程序员菜哭武和石头组队参加一个叫做国际排列计算竞赛 (International ...
- “科大讯飞杯”第十七届同济大学程序设计预选赛暨高校网络友谊赛
比赛传送门 A-张老师和菜哭武的游戏(裴蜀定理) 比赛时光顾着找规律了,因为我发现只要首先选的数有一个是奇数那么就能选到区间[1,n][1,n][1,n]的所有数,否则就只能选区间内的所有偶数.暴力枚 ...
- 科大讯飞杯第十七届网络友谊赛 部分题解(ABDF)
F 排列组合(差分) 题目描述 天才程序员菜哭武和石头组队参加一个叫做国际排列计算竞赛 (International Competition of Permutation Calculation, I ...
- 华为杯数学建模2020什么时候出结果_关于组织参加“华为杯”第十七届中国研究生数学建模竞赛通知...
亲爱的NNUers 2020年大家期待已久的 "华为杯"第十七届中国研究生数学建模竞赛 重磅来袭 遇见"华为杯" "华为杯"第十七届中国研究 ...
- 浙江省计算机程序比赛员,计算机学子在“图森未来杯”第十七届浙江省大学生程序设计竞赛中斩获金奖...
由浙江省大学生程序设计竞赛委员会主办,杭州师范大学承办,于 2020 年 10 月 17 日举办了"图森未来杯"第十七届浙江省大学生程序设计竞赛.来自全省的70所高校的404支本专 ...
- “统信杯” 第十七届黑龙江省大学生程序设计竞赛
"统信杯" 第十七届黑龙江省大学生程序设计竞赛 前言 题目 A. Bookshelf Filling C. Tree Division D. Collision Detector ...
- 2020年华为杯第十七届中国研究生数学建模竞赛---回顾记录
这次做一个复盘贴,刚刚参加完这次的华为杯数学建模,由于是2020级研究生所以允许跨校组队,所以选择的队友是两个外校的,沟通方面第一天至第三天每天在微信使用语音通话汇报一次进度,第四天至第五天腾讯会议共 ...
- 2020年“华为杯”第十七届中国研究生数学建模竞赛B题心得(满纸荒唐言,一把辛酸泪)
满纸荒唐言,一把辛酸泪. 都云作者痴,谁解其中味? --纪念2016-2020所有的数学建模论文 古人说得好:"书到用时方恨少,事非经过不知难".做数学建模的我:"方法用 ...
- “华为杯”第十七届中国研究生 数学建模竞赛-【华为杯】D题:无人机集群协同对抗(附优秀论文及python代码实现)
目录 摘 要: 1 问题重述 1.1 问题背景 1.2.1 问题一:逃逸区与最优突防策略求解
最新文章
- 码农技术炒股之路——实时交易信息、主力动向信息分库备份
- MPV 播放器 设置默认播放器 cmd + i
- Java实现栅格数据格式文件读取及加法操作
- Qt C++属性类型提供给 QML调用(一)
- extern相关问题
- Template Code 无法使用 this.Host 报错
- java循环结构教程
- 编程技术越来越被看中 编程到底是什么?赶紧看看!
- 深度学习(七十三)pytorch学习笔记
- DxOMark将于9月18日公布重磅消息 iPhone 11系列或上榜
- Linux内核的学习(二)
- 嵌入式Linux驱动学习之路(二)u-boot体验
- 从入门到精通,C程序员必读的3本
- 【高速PCB电路设计】8.DDR模块设计实战
- 华为谷歌安装器 Android6.0,gms安装器华为
- BulletProof vs snark vs stark性能对比
- 为什么主机IP地址通常以192.168开头?
- Huffman Tree
- 『毒舌吐槽社区』-很多敏感内容,你懂的!
- 根据url动态生成二维码