题目链接:https://ac.nowcoder.com/acm/contest/6885/C
题意
- 取石子游戏。
- 开始有n个石子,每次可以取1,2,4,8,……,2^k个石子,取完者获胜
- 画个表格,传递必败态
1 | 2 | 3 | 4 | 5 |
Y | Y | N | Y | Y |
6 | 7 | 8 | 9 | 10 |
N | Y | Y | N | Y |
- n=1、2时,先手必赢。
- n=3时,先手取1 2都输,必输
- n=4时,先手取1,把必败态传给后手,先手必赢
- n=5时,先手取2,把必败态传给后手,先手必赢
- n=6时,先手取得数没有3的倍数,所以不能把必败态传给后手,后手反而可以将必败态传给先手,所以先手必输
- ……
#include
#define ll long long
using namespace std;
int main(){
int T;
scanf("%d",&T);
while(T--){
int n;
scanf("%d",&n);
if(n%3==0)printf("Frame\n");
else printf("Alan\n");
}
return 0;
}
【牛牛爱博弈_牛客练习赛67】