ACM模版

描述

题解

根据题意不难发现,当A面对1的时候必胜,2的时候必输,3、4、5、6时必胜,7时必输,由此,知道7个一循环。所以,我们可以先打表,然后对(N - 1)进行对7的取模,对应输出结果即可。

代码

#include <iostream>

using namespace std;

const int win[] = {
  1, 0, 1, 1, 1, 1, 0};    // 2、7必输

int main(int argc, const char * argv[])
{
    int T;
    cin >> T;

    int N;
    while (T--)
    {
        cin >> N;
        if (win[(N - 1) % 7])
        {
            cout << "A\n";
        }
        else
        {
            cout << "B\n";
        }
    }

    return 0;
}

参考

《博弈论》
51Nod-1066-Bash游戏