HDU5512Pagodas
来源:互联网 发布:js判断audio加载完成 编辑:程序博客网 时间:2024/06/16 15:25
Pagodas
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1493 Accepted Submission(s): 1033
Problem Description
Two monks, Yuwgna and Iaka, decide to make glories great again. They take turns to build pagodas and Yuwgna takes first. For each turn, one can rebuild a new pagodas labelled
This is a game for them. The monk who can not rebuild a new pagoda will lose the game.
Input
The first line contains an integer t (1≤t≤500) which is the number of test cases.
For each test case, the first line provides the positive integern (2≤n≤20000) and two different integers a and b .
For each test case, the first line provides the positive integer
Output
For each test case, output the winner (``Yuwgna" or ``Iaka"). Both of them will make the best possible decision each time.
Sample Input
162 1 23 1 367 1 2100 1 28 6 89 6 810 6 811 6 812 6 813 6 814 6 815 6 816 6 81314 6 81994 1 131994 7 12
Sample Output
Case #1: IakaCase #2: YuwgnaCase #3: YuwgnaCase #4: IakaCase #5: IakaCase #6: IakaCase #7: YuwgnaCase #8: YuwgnaCase #9: IakaCase #10: IakaCase #11: YuwgnaCase #12: YuwgnaCase #13: IakaCase #14: YuwgnaCase #15: IakaCase #16: Iaka
题意:
有n个庙,只有两个是完好的,其他n-2个都可以修。两个和尚轮流修庙,规则是任意两个完好的庙的序号的和或差,谁无法继续修就会输掉。
分析:
这个题是个简单的博弈,想想之后发现就是求出符合题目要求的可以修的庙的总数目,如果是奇数则先修的赢,偶数则后修的赢。关键是求一共有多少个可以修的庙,多次尝试后发现可以用a和b的最大公约数来求,这个最大公约数就是可以修的两个塔之间的距离。
代码:
#include <stdio.h>#include <stdlib.h>#include <algorithm>using namespace std;int gcd(int a, int b){return b == 0? a : gcd(b, a % b);}int main(){int t, n, a, b;int cas = 0;scanf("%d", &t);while(t--){scanf("%d%d%d", &n, &a, &b);if(a < b)swap(a, b);int x = gcd(a, b);int min = a % x;int cnt = n / x;if(cnt * x + min <= n)cnt ++;printf("Case #%d: ", ++cas);if(cnt % 2)printf("Iaka\n");elseprintf("Yuwgna\n");}return 0;}
题目比较水,但还是想了好久,还得加油。
0 0
- hdu5512Pagodas
- HDU5512Pagodas
- hdu5512Pagodas+GCD
- HDU5512Pagodas 【gcd】
- hdu5512pagodas(最小公因数)
- FZU1405 之 做减法
- react native项目创建
- PAT 乙级 1043. 输出PATest(20)
- 实验五项目四
- [py]python面向对象-类成员class_vars
- HDU5512Pagodas
- 阿里云 RDS下 mysql 查询字段 灵活区分大小写
- Code::Blocks添加第三方库
- 卷积神经网络初学者指南
- java IO(输入输出) 字节流
- LeetCode 205. Isomorphic Strings 双map ***
- hdu 2196(Computer 树形dp)
- 2017.5.8 文化之旅 思考记录
- java微信公众号开发