题目描述
校园里在上活动课,Red和Blue两位小朋友在玩一种游戏,他俩在一排N个格子里,自左到右地轮流放小球,每个格子只能放一个小球。每个人一次只能放1至5个球,最后面对没有空格而不能放球的人为输。
现在Red先走,问他有没有必胜的策略?
比如:N=6时,Red必败。
输入格式
一行,一个整数N(2<N<100)。
输出格式
一行,一个整数。如果Red必胜输出1,否则输出0。
输入样例
9
输出样例
1
题解
先说结论,当$6|n$时,先手必输,否则先手必赢。
证明:当$6|n$时,先手放任意个球时,后手都能放到第$6$个球,这个时候还有$(n-6)$个格子,又可以进行上面的操作,直到不剩下格子,这是先手就输了。
但如果$6$不整除$n$,那么先手可以放$k$个球,到后手时剩下满足$6|(n-k)$的$(n-k)$个格子,这样就是后手必输,即先手必赢。
#include <iostream> using namespace std; int n; int main() { return cin >> n, cout << (n % 6 ? 1 : 0), 0; }
参考程序
原文地址:https://www.cnblogs.com/kcn999/p/10777273.html
时间: 2024-10-28 19:58:55