解题思路
d = gcd(a,b), k*d的位置都是可以选的,判断试下k的个数是奇数还是偶数即可。
代码
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }
int main () {
int cas;
scanf("%d", &cas);
for (int kcas = 1; kcas <= cas; kcas++) {
int n, a, b;
scanf("%d%d%d", &n, &a, &b);
int d = n / gcd(a, b);
printf("Case #%d: %s\n", kcas, d&1 ? "Yuwgna" : "Iaka");
}
return 0;
}