HDU 5512 Pagodas

来源:互联网 发布:淘宝代销如何同步库存 编辑:程序博客网 时间:2024/06/06 00:13

题意:给出a,b两个数和一个n,求出由a,b加减得到的数(包括a,b得到的数相互的加减)(范围:1~n),Yuwgna和Iaka从这里面拿数,不能拿a,b且每个数只能拿一次,Yuwgna先开始拿,问最后谁赢,没数可拿的一方输

其实求出a,b两数的最大公约数,然后用n除于这个值再减去2(a,b两个不能用)就是还能用的数

#include <stdio.h>int gcd(int a, int b){    if(b == 0) return a;    return gcd(b, a%b);}int main(){    int a, b, n, t, ct, res, k;    scanf("%d", &t);    k = 1;    while(t--)    {        scanf("%d %d %d", &n, &a, &b);        res = n/gcd(a, b) - 2;        printf("Case #%d: ", k++);        if(res <= 0) printf("Iaka\n");        else        {            if(res % 2 == 0) printf("Iaka\n");            else printf("Yuwgna\n");        }    }}

0 0