有一堆石子共有N个。A B两个人轮流拿,A先拿。每次只能拿1,3,4颗,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N,问最后谁能赢得比赛。
例如N = 2。A只能拿1颗,所以B可以拿到最后1颗石子。
这一题只要在纸上模拟一下,就能找出规律,周期为7,也是直接上代码
#include<stdio.h>
bool a[7]={0,1,0,1,1,1,1};
bool ok(__int64 N)
{
return a[N%7];
}
int main()
{
__int64 T,n;
scanf("%I64d",&T);
while(T--)
{
scanf("%I64d",&n);
if(ok(n))
printf("A\n");
else
printf("B\n");
}
}