HDU 5512 Pagodas
来源:互联网 发布:win7允许网络访问 编辑:程序博客网 时间:2024/05/16 14:17
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5512
题意:有n个数1~n,现在给出a,b两个数,每次只能选择未出现过的而且是由已出现过的数集合中i,j的和或差即i+j或i-j,谁没数可选即输。
思路:发现每次选数都是gcd(a,b)的倍数,那么先求一下范围内有多少个可选的数,然后判断一下奇偶即可。
#include <cstdio>#include <cmath>#include <cstring>#include <string>#include <cstdlib>#include <iostream>#include <algorithm>#include <stack>#include <map>#include <set>#include <vector>#include <sstream>#include <queue>#include <utility>using namespace std;#define rep(i,j,k) for (int i=j;i<=k;i++)#define Rrep(i,j,k) for (int i=j;i>=k;i--)#define Clean(x,y) memset(x,y,sizeof(x))#define LL long long#define ULL unsigned long long#define inf 0x7fffffff#define mod 100000007#define mp make_pair#define fi first#define se second#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define mid int m=(l+r)>>1int gcd(int a,int b){ return b==0?a:gcd(b,a%b);}int main(){ int T,a,b,n; cin>>T; rep(kase,1,T) { scanf("%d%d%d",&n,&a,&b); int x = n/gcd(a,b) - 2; printf("Case #%d: %s\n",kase,(x&1)==0?"Iaka":"Yuwgna"); } return 0;}
0 0
- HDU 5512 Pagodas
- HDU-5512 Pagodas(GCD)
- hdu 5512 Pagodas
- HDU 5512 Pagodas【博弈】
- HDU 5512 Pagodas
- 【HDU 5512 Pagodas】
- HDU 5512 Pagodas(GCD)
- hdu 5512 Pagodas gcd()
- HDU 5512 Pagodas
- HDU-5512-Pagodas
- HDU 5512 Pagodas (gcd)
- hdu 5512 Pagodas(水题)
- HDU 5512 Pagodas (扩展欧几里德)
- 思维 hdu 5512(Pagodas)
- HDU 5512 Pagodas(分析)
- Pagodas HDU
- HDU-5512-Pagodas【2015沈阳赛区】
- 数论-沈阳站-hdu-5512-Pagodas-水题
- 【Vijos-P1060】盒子-DP+组合数学
- 这里是原创,我的第一篇文章。
- jQuery事件
- 在iOS开发中使用正则表达式分解字符串
- 打地鼠游戏
- HDU 5512 Pagodas
- Spring Boot学习记录(二)--thymeleaf模板
- linux 基本操作:
- 1005.Spell It Right (20)
- 关于用Getline读取文件只能读取首行的问题
- 如何生成可导入数据库的亿级别数据
- File Watcher,不只是一个工具
- CENTOS 7.2 使用 RDO 安装 OPENSTACK
- 151. Reverse Words in a String