题意:

n个狮子石子,m个人轮流取,每个人有两步,第一步选择取一个或不取,第二步如果他的上一位玩家的第一步取了,当前玩家第二步不能取石子,否则当前玩家第二步取一个石子,问第 x 个人有没有必胜策略

思路:

https://blog.csdn.net/modiz/article/details/37999947

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll inf = 0x3f3f3f3f3f3f3f3f;
const double PI = acos(-1.0);
const int mod = 1e9 + 7;
const int N = 120;

int main()
{
    int t, n, m, x;
    scanf("%d", &t);
    while(t--)
    {
        scanf("%d%d%d", &n, &m, &x);
        if(x > n) cout<<"NO"<<'\n';
        else {
            if(n % m == x || (n % m == 0 && m == x)) cout<<"YES"<<'\n';
            else cout<<"NO"<<'\n';
        }
    }
    return 0;
}