[英]Understanding this solution to a puzzle
我在编码比赛中做一道谜题,但我被一个问题困住了。 基本上我不明白有人怎么能达到这个解决方案。 谜题是
爱丽丝和鲍勃玩以下游戏。 他们选择一个数字 N 来玩。 规则如下:
假设双方都发挥最佳,谁赢得了比赛?
给定的解决方案是
int main() {
long int T, N;
for(scanf("%ld", &T); T > 0; T--) {
scanf("%ld", &N);
if (N % 4 == 1) {
printf("ALICE wins\n");
} else {
printf("BOB wins\n");
}
}
这是一种尼姆游戏。 最终面对N = 1
的玩家输了。 如果N % 4 != 1
,Bob 可以取 1、2 或 3 使下一个N ≡ 1 (mod 4)
,让 Alice 处于亏损状态。 否则,如果开始时N ≡ 1 (mod 4)
,Alice 可以反击 Bob 的举动,再次为 Bob 留下一个数字≡ 1 (mod 4)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.