HDU 5512 Pagodas【博弈】
2024-08-30 03:41:13
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=5512
题意:
给定集合,最初有两个数a,b,如果两个人依次使用集合中的元素相加减,如果得到的数均不在在[1,n]中,则该人输,否则将新数放到集合中,游戏继续。
分析:
看8 6 8这组,发现只有偶数才能被取到,大胆猜能选的数都是最初的两个数的gcd,判断下选出的数的个数模2即可。
代码:
#include<iostream>
using namespace std;
int gcd(int a, int b)
{
return b?gcd(b, a % b):a;
}
int main (void)
{
int t;cin>>t;
int n, a, b;
int cnt = 1;
while(t--){
cin>>n>>a>>b;
cout<<"Case #"<<cnt++<<": ";
int ans = n / gcd(a, b);
if(ans & 1) cout<<"Yuwgna"<<endl;
else cout<<"Iaka"<<endl;
}
return 0;
}
最新文章
- 常用命令[Linux]
- MyEclipse中代码格式化后自动换行
- SOLID原则
- nginx的基本配置和虚拟主机的配置
- 【转】java多态详解
- 可以伸缩的查询面板 (searchBar)
- MessageBox, MessageBoxBurttons, MessageBoxIcon 详细解析
- Alpha个人总结
- JGUI源码:Accordion折叠到侧边栏实现(6)
- Vue Affix组件
- 关于opengl的ActiveTexture以及bindXxx函数的分析
- 用v-for进行table循环
- Docker入门 - 003 Docker 实例
- 黄聪:windows下使用xampp3.2.2配置多个监听端口和不同的网站目录
- JavaScript弹出窗口方法
- div 内table 居中实现代码
- ubuntu系统连接windows系统
- evaluate-division
- vue添加属性绑定
- ubuntu技巧