您的位置:首页 > 其它

HDU5512(水题~)

2015-10-31 22:03 295 查看
ICPC沈阳站的D题。一个位置只要能表示为k1*a+k2*b的话这个位置就是能放的。当时傻了想着用扩展欧几里得求出这个k1 k2。其实只要位置能整除gcd(a,b)就可以了。
#include <bits/stdc++.h>
using namespace std;
#define maxn 4111111

int gcd (int a, int b) {
    return b == 0 ? a : gcd (b, a%b);
}
int n, a, b;

int main () {
    //freopen ("in", "r", stdin);
    int t, kase = 0;
    cin >> t;
    while (t--) {
        cin >> n >> a >> b;
        int gg = gcd (a, b), ans = 0;
        for (int i = 1; i <= n; i++) {
            if (i%gg == 0)
                ans++;
        }
        cout << "Case #" << ++kase << ": ";
        cout << (!(ans&1)? "Iaka" : "Yuwgna") << endl;
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: