题目描述

        校园里在上活动课,Red和Blue两位小朋友在玩一种游戏,他俩在一排N个格子里,自左到右地轮流放小球,每个格子只能放一个小球。每个人一次只能放1至5个球,最后面对没有空格而不能放球的人为输。

        现在Red先走,问他有没有必胜的策略?

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

        比如: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)$个格子,这样就是后手必输,即先手必赢。

【题解】放球游戏A 随笔 第1张
#include <iostream>

using namespace std;

int n;

int main()
{
    return cin >> n, cout << (n % 6 ? 1 : 0), 0;
}
参考程序

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄