• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

牛客多校第一场

开发技术 开发技术 1周前 (07-19) 10次浏览

A 博弈论,根据题意简单分析一下就行了,注意for循环里面要加入break,以免超时。

//#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
using namespace std;

const int MAXN = 5005;

bool F[MAXN][MAXN];
int main()
{
    for (int i = 0; i <= 5000; i++)
        for (int j = 0; j <= 5000; j++)
            if (!F[i][j])
            {
                for (int k = 1; i + k <= 5000; k++)
                    for (int l = 0; j + k * l <= 5000; l++)
                        F[i + k][j + k * l] = 1;
                for (int k = 1; j + k <= 5000; k++)
                    for (int l = 0; i + k * l <= 5000; l++)
                        F[i + k * l][j + k] = 1;
            }
    int T;
    scanf("%d", &T);
    while (T--)
    {
        int n, m;
        scanf("%d %d", &n, &m);
        if (F[n][m]) printf("Alicen");
        else printf("Bobn");
    }
    return 0;
}

 


程序员灯塔
转载请注明原文链接:牛客多校第一场
喜欢 (0)