A.Alice and Bob
博弈
sg函数
#include<bits/stdc++.h>
using namespace std;
const int maxn=5010;
bool dp[maxn][maxn];
int t,n,m;
int main()
{
for(int i = 0; i <= 5000; i++)
for(int j = 0; j <= 5000; j++)
if(!dp[i][j])
{
for(int k = 1; i + k <= 5000; k++)
for(int s = 0; j + s * k <= 5000; s++)
dp[i + k][j + s * k] = 1;
for(int k = 1; j + k <= 5000; k++)
for(int s = 0; i + s * k <= 5000; s++)
dp[i + s * k][j + k] = 1;
}
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
if(dp[n][m]) puts("Alice");
else puts("Bob");
}
}
H数论 (待补