【题解】放球游戏A

时间:2023-03-09 14:33:12
【题解】放球游戏A

题目描述

校园里在上活动课,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 % ? : ), ;
}

参考程序