n pagodas were standing erect in Hong Jue Si between the Niushou Mountain and the Yuntai Mountain, labelled from 1 to n. However, only two of them (labelled aand b, where 1≤a≠b≤n) withstood the test of time.
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 i (i∉{a,b} and 1≤i≤n) if there exist two pagodas standing erect, labelled j and k respectively, such that i=j+k or i=j−k. Each pagoda can not be rebuilt twice.

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 integer n (2≤n≤20000) and two different integers a and b.
 
Output
For each test case, output the winner (``Yuwgna" or ``Iaka"). Both of them will make the best possible decision each time.
 
Sample Input
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
 
Sample Output
Case #1: Iaka
Case #2: Yuwgna
Case #3: Yuwgna
Case #4: Iaka
Case #5: Iaka
Case #6: Iaka
Case #7: Yuwgna
Case #8: Yuwgna
Case #9: Iaka
Case #10: Iaka
Case #11: Yuwgna
Case #12: Yuwgna
Case #13: Iaka
Case#14: Yuwgna
Case #15: Iaka
Case #16: Iaka
 
今天的周赛题,没有写的原因一是因为英文没看懂,而是因为以为是博弈题,博弈我不太会,所以这题也就没做。
 

题意:

  给出t组样例,每一组给出n、i、j,i和j表示其中两座塔的高度,要求Iaka和Yuwgna两人轮流造塔,Yuwgna先造,要求塔的高度只能是从已造的塔中进行i+j和i-j进行选择,不能和之前已造的塔高重复,且塔高<=n,求出最后一个造塔的人。

思路:

在塔全部造完之后,已造的塔的最小塔高是i和j的最小公约数minn,可以通过#include<algorithm>下的__gcd(i,j)求得,其他的塔高一定是minn的倍数。

利用sum记录minn和其倍数(在minn到n的范围内),再减去原有的两座塔的数量即可。

最后由于Yuwgna先造,所以sum%2==0的话说明Iaka赢,反之Yuwgna赢。

 #include<stdio.h>
#include<algorithm>
using namespace std; int main()
{
int tt;
scanf("%d",&tt);
int t=;
while(tt--)
{
int n,i,j;
scanf("%d %d %d",&n,&i,&j);
int minn=__gcd(i,j);
int sum=-;
for(int i=minn;i<=n;i++)
{
if(i%minn==)
sum++;
}
if(sum%==)
printf("Case #%d: Iaka\n",t++);
else
printf("Case #%d: Yuwgna\n",t++);
}
return ;
}

最新文章

  1. springmvc 文件上传实现(不是服务器的)
  2. java Class&lt;?&gt;和Class&lt;T&gt;等
  3. XMLHttpRequest 加载进度
  4. uGUI练习(四) Light UI
  5. Knockout.Js官网学习(监控属性Observables)
  6. Python数据结构——栈、队列的实现(二)
  7. 魔兽争霸Ⅲ运行时不能初始化directX的错误解决
  8. MVC视图路径修改方法
  9. [HNOI 2017]抛硬币
  10. AntZipUtils【基于Ant的Zip压缩解压缩工具类】
  11. web进修之—Hibernate起步(1)(2)
  12. [解决]IP地址非法,请接入联通热点后重新获取
  13. [LeetCode&amp;Python] Problem 217. Contains Duplicate
  14. Mysql表类型(存储引擎)的比较
  15. 数论练习(5)——青蛙的约会(扩gcd)
  16. [Functional Programming Monad] Modify The State Of A State Monad
  17. Canvas:技术小结
  18. hibernate的多对多配置
  19. python基础之协程,列表生成式,生成器表达式
  20. Ubuntu下rsyslog集中收集mysql审计日志

热门文章

  1. 中位数+暴力——cf433C
  2. java做题笔记
  3. 框架-.NET:Spring.Net
  4. java.lang.Object错误
  5. Openstack组建部署 — Glance Install
  6. 常用内置模块(四)——subprocess、re
  7. XX Russia Team Open, High School Programming Contest St Petersburg, Barnaul, Tbilisi, Almaty, Kremenchug, November 30, 2019
  8. Linux文件介绍
  9. kali环境配置
  10. Mybatis中$和#取数据的区别