zoukankan      html  css  js  c++  java
  • HDU 5512 Pagodas(2015ACM/ICPC亚洲区沈阳站-重现赛(感谢东北大学))

    Pagodas

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
    Total Submission(s): 3502    Accepted Submission(s): 2324


     

    Problem Description

    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

     

    Source

    2015ACM/ICPC亚洲区沈阳站-重现赛(感谢东北大学)

     题意:

    给你三个数n  a  b

    代表这里有n个石子,编号分别为1~n,刚开始从中取出编号为a和b的石子,然后两个人轮流从中取出石子,取出的石子必须满足

    j+k或j-k,其中j,k是已经取出石子的编号,问最后谁赢了。

    分析:

    在取石子的过程中首先|a-b|=c,取石子c,然后让|c-b|取石子,这样到最后取得的石子编号是a和b的最大公约数(更相减损术),也就是GCD(a,b)

    那么在取石子的过程中 所有取得的石子都是GCD(a,b)的倍数,(因为a,b都是他们的倍数,所以进行加减之后不管怎样,得出的数都是他们的倍数),所以根据这个编号为GCD(a,b)的石子,可以把所有gcd(a,b)倍数的石子全部取出。也就是共n/gcd(a,b)个石子,

    而且不管取的顺序咋样,都能够取到这n/gcd(a,b)的石子,所以只要判断n/gcd(a,b)的奇偶即可。

    代码先不放:

  • 相关阅读:
    李宏毅机器学习课程笔记-13.4模型压缩之架构设计
    李宏毅机器学习课程笔记-13.3模型压缩之参数量化
    李宏毅机器学习课程笔记-13.2模型压缩之知识蒸馏
    斗破苍穹 纳兰嫣然 同人换装
    初音未来 捏脸 虚拟歌姬 人物卡 人物数据
    王者荣耀 艾琳 同人换装
    王者荣耀嫦娥 拒霜思 同人 P图
    linux直接IO代码演示
    qt通过http请求下载文件(支持断点续传)
    Q_DECLARE_FLAGS用法
  • 原文地址:https://www.cnblogs.com/dchnzlh/p/10427313.html
Copyright © 2011-2022 走看看