当前位置:网站首页>轮流取石头游戏
轮流取石头游戏
2022-08-08 23:57:00 【weixin_44040169】
两个足够聪明的人玩轮流取石头的游戏,谁取到最后一个石头谁就赢了,他们一次只能取1个、3个、7个或8个石头,写一程序判断n个石头时先取的人是输还是赢。
输入格式:
一个整数n,其值不超过10000000。
输出格式:
如果先取的人赢,请以单独一行输出1,否则输出0。
输入样例:
这里是3组输入。
1
10
300
输出样例:
上面3组数据对应的输出分别如下:
1
1
0
#include <stdio.h>
#include <iostream>
using namespace std;
int dp[10000001],n;//dp存的对于先手来说的赢输情况
int main()
{
/*每次只能取1,3,7,8个*/
dp[1]=1;//1,3,7,8这些情况下,先手第一次就取完全部,剩下0个,就直接先手胜
dp[3]=1;
dp[5]=1;//5是先手取3 后手1 先手1 最后剩0 ,先手胜
dp[7]=1;
dp[8]=1;
while(cin>>n)
{
for(int i=9; i<=n; i++)
{
//i取完后剩下的能使后手失败那i状态就能胜
if(!dp[i-1]||!dp[i-3]||!dp[i-7]||!dp[i-8])
dp[i]=1;
else
dp[i]=0;
}
cout<<dp[n]<<endl;
}
return 0;
}
边栏推荐
猜你喜欢

【深度学习】TensorFlow学习之路三:梯度消失\爆炸及解决办法

如何使用WebDAV?

pytorch常用代码

postgresql源码学习(35)—— 检查点⑤-检查点中的XLog清理机制

【深度学习】TensorFlow学习之路一:TensorFlow简介及线性回归、逻辑回归实现

第四章 SQL与关系数据库基本操作(上)

HCIP2---第一天实验

360“卸载不下去”引热议 周鸿祎重申是谣言:步骤繁琐出于安全考虑

ABP中的数据过滤器

TensorFlow learning path deep learning 】 【 3: gradient disappear \ explosion and solution
随机推荐
C#编写飞行棋游戏
第一章 数据库系统概述
测试计划包括哪些内容?目的和意义是什么?
重发布实验
NPM配置阿里下载源
并发编程第六篇,lock锁接口和其实现
面试题--数据库事务四大特性及事务的隔离级别
并发专题第一篇,多线程快速入门和简单介绍
如何使用WebDAV?
时间对象的格式化
BGP实验
redis集群redis-trib扩容缩容
JS基础知识
第四章 SQL与关系数据库基本操作(上)
Ubuntu下Docker安装Mysql (快速简便)
OFDM 十六讲 6 Inter symbol Interference
关于在core中使用minio对象存储
使用 Gradio 在 huggingface 创建应用 Space
OSPF综合实验
STP---生成树协议总结