这大概是最简单的博弈游戏了吧,过两天会详细的讨论一下sg函数与博弈。
代码如下:
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int main(){
int test;
scanf("%d",&test);
while(test--){
int a,b;
scanf("%d%d",&a,&b);
if(a%(b+1)==0)printf("B\n");
else printf("A\n");
}
}
思路很简单,两人各进行一次操作后,必然能去到k+1个石子,因此弱若第一个人取石子之后只要生下的是k+1的倍数,那么只要每次二人轮流取够k+1个就赢了,否则第二个人赢