zoukankan      html  css  js  c++  java
  • na+mb与gcd

    蒜头君和花椰妹在玩一个游戏,他们在地上将 nn 颗石子排成一排,编号为 11 到 nn。开始时,蒜头君随机取出了 22 颗石子扔掉,假设蒜头君取出的 22 颗石子的编号为 aa, bb。游戏规则如下,蒜头君和花椰妹 22 人轮流取石子,每次取石子,假设某人取出的石子编号为 ii,那么必须要找到一对 jj, kk 满足 i=j-ki=jk 或者 i=j+ki=j+k ,并且编号为 jj,kk 的石子已经被取出了,如果谁先不能取石子了,则视为输了。蒜头君比较绅士,让花椰妹先手。

    输入格式

    第一行输入一个整数 t(1 le t le 500)t(1t500),表示蒜头君和花椰妹进行了 tt 局游戏。

    对于每局游戏,输入 33 个整数 n(2le n le 20000),a,b(1 le a,b le n)n(2n20000),a,b(1a,bn),保证 a,ba,b 不相等。

    输出格式

    如果蒜头君赢了游戏,输出一行suantou,如果花椰妹赢了,输入一行huaye

    样例输入

    5
    8 6 8
    9 6 8
    10 6 8
    11 6 8
    12 6 8

    样例输出

    suantou
    suantou
    huaye
    huaye
    suantou


    推理一下可以发现,每次取出的两个石头的编号的关系满足通式:na+mb

    这个数恰好能整除gcd(a,b),所以1~n中有多少个gcd(a,b)的倍数,就是能取出多少个石子。
  • 相关阅读:
    Linux下安装启动nginx的过程
    shell编程
    Linux中的权限管理
    Linux中的模式转换
    Linux入门2
    Linux入门1
    数据库的多表查询及左右连接
    Python命令行参数sys.argv[]
    Python 读取csv文件到excel
    高级技巧
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/6408855.html
Copyright © 2011-2022 走看看