码迷,mamicode.com
首页 > 其他好文 > 详细

【题解】放球游戏A

时间:2019-04-27 00:13:36      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:include   gif   red   play   onclick   ogg   spl   图片   using   

题目描述

        校园里在上活动课,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;
}
参考程序

 

【题解】放球游戏A

标签:include   gif   red   play   onclick   ogg   spl   图片   using   

原文地址:https://www.cnblogs.com/kcn999/p/10777273.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!