取石子游戏

取石子游戏

描述

输入

输出

输入样例 1

输出样例 1

思路

取石子游戏I

描述

输入

输出

输入样例 1

输出样例 1

取石子游戏II

描述

输入

输出

输入样例 1

输出样例 1

思路

取石子游戏

描述

有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。

输入

输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目,a和b都不大于1,000,000,000。

输出

输出对应也有若干行,每行包含一个数字1或0,如果最后你是胜者,则为1,反之,则为0。

输入样例 1

2 1

8 4

4 7

输出样例 1

0

1

0

思路

普通的威佐夫博弈题,公式有俩,如果符合公式就是奇异局势,面对奇异局势必输。

ak = (int)k * (1 + sqrt(5)/2)

bk = ak + k

然后代码就是套第一个公式,如果符合就输定了

#include

using namespace std;

int main()

{

int a,b,k,t;

while(cin>>a>>b)

{

int n = min(a,b);

int m = max(a,b);

k = m - n;

t = (k * (1 + sqrt(5))/2);

if(t == n)

{

cout<

}

else cout<

}

return 0;

}

取石子游戏I

描述

一堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出"Second win".先取者胜输出"First win".

输入

多组测试数据。

每组测试数据包含1个整数n。(1输出

对于每组测试数据,输出谁获胜.

输入样例 1

2

13

1000

输出样例 1

Second win

Second win

First win

#include

#include

int main()

{

int n,i;

double a[60];

a[0]=1;a[1]=1;

for(i=2;i<60;i++)

{

a[i]=a[i-1]+a[i-2];

}

while(~scanf("%d",&n))

{

int j=0;

for(i=0;i<60;i++)

{

if(n==a[i])

{

j++;

}

}

if(j>0)

{

printf("Second win\n");

}

else

{

printf("First win\n");

}

}

return 0;

}

取石子游戏II

描述

一堆石子有n个,两人轮流取.每次取最少取1个,最多取m个。取完者胜.先取者负输出"Second win".先取者胜输出"First win"

输入

多组测试数据。

每组测试数据包含2个正整数n,m。(n,m<=10000000)

输出

对于每组测试数据,输出谁获胜

输入样例 1

2 1

3 2

3 1

输出样例 1

Second win

Second win

First win

思路

基础的巴什博奕

巴什博奕的重点是只有一堆,

如果n % (m + 1) != 0 则先手赢,如果用普通的数组会TLE。

证明:如果n = m + 1,先手最多拿m个,肯定有剩下的,所以先手必输,所以碰到k(m + 1)的局面的人必输。那么如果n = k(m + 1) + s,这个k 就是系数,s < m + 1,那么只要先手拿掉s个,这样后手面对的就是k(m + 1)局面,所以先手在n % (m + 1) != 0时必输。

#include

#include

int main()

{

int m=0,n=0;

while(~scanf("%d %d",&n,&m))

{

if(n%(m+1)==0)

{

printf("Second win\n");

}

else

{

printf("First win\n");

}

}

return 0;

}

轮流取石子游戏c语言答案,取石子游戏相关推荐

  1. 取石头游戏 c语言,[HNOI2010]取石头游戏(博弈论+贪心)

    题目描述: 有\\(n\\)堆石子,每堆石子的个数为\\(a_i\\),保证存在至少一堆石子个数为\\(0\\) 两个人,每个人每次可以取一堆石子,一堆石子可以被取当且仅当它相邻的石子有至少一堆为\\ ...

  2. python爬取国内代理ip_Python语言爬取代理IP

    本文主要向大家介绍了Python语言爬取代理IP,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. #!/usr/bin/env python #-*-coding=utf-8 -* ...

  3. c语言实现五子棋游戏,C语言实现五子棋小游戏

    C语言实现五子棋小游戏 # include # include # include # include//插入输入输出头文件 # include//字符数组的函数定义的头文件 # include//s ...

  4. 约瑟夫双向生死游戏c语言代码,约瑟夫生死游戏(含源代码可以运行)本科毕业设计.doc...

    约瑟夫生死游戏(含源代码可以运行)本科毕业设计 湖南商学院 数据结构与算法 课程设计 题 目约瑟夫双向生死游戏学生姓名梁子嫣学 号140920043学 院计算机工程与信息学院专业班级计科1402指导教 ...

  5. c语言课程设计走迷宫游戏,C语言课程设计-迷宫游戏.doc

    计算机技术基础课程设计 C语言 设计报告 题目:完整的二维迷宫游戏 学院:工商管理学院 专业:信息系统与信息管理 班级:050507 姓名:孙月 指导教师:张首伟 设计日期:2004年12月10日 题 ...

  6. c语言二十四点游戏,C语言解24点游戏程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...

  7. c语言简单的24点游戏,C语言解24点游戏程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...

  8. 2048游戏c语言实验报告,2048游戏语言实验报告.doc

    2048游戏语言实验报告 成绩评定 教师签名 评定日期 嘉应学院 计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015-2016学年第1学期 班 级: 计算机1505 指导老师: 陈广明 ...

  9. c语言计算24游戏,C语言解24点游戏程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...

最新文章

  1. Idea--Tomcat配置中的On Upate Action 与 On Frame Deactivation
  2. centos 日志切割_CentOS下的日志切割
  3. Python之父,现在成为微软打工人
  4. 西南交通大学计算机绘图,西南交通大学网络教育计算机绘图主观题第二次答案...
  5. python和java哪个-Python和Java哪个好?有什么区别?
  6. Oracle三种循环:for,while,do...while(PL/SQL)
  7. 【NLP】NLP中的消歧
  8. NeurIPS 2020 | 聚焦自监督学习
  9. 前端技巧:如何使用nodejs实现举牌人表情包?
  10. [蓝桥杯2017决赛]分考场、OpenJudge:分成互质数
  11. escape encodeURI 和encodeURIComponent JS编码
  12. 【Qt开发】StyleSheet使用总结
  13. css伪元素选择器,first-letter、first-line
  14. 串口服务器gsd文件,PROFIBUS总线通信仪表GSD文件的选择
  15. 开发撞墙之奇怪的需求:经纬度带符号转换
  16. Telos 小白指南
  17. 最新ubuntu搭建公网个人邮件服务器(基于postfix,dovecot,mysql)
  18. 线程的条件变量(cond)
  19. 硬盘备份到新电脑,你需要知道这个技巧
  20. Eclipse中pep8规范,修改每行字符长度

热门文章

  1. 计算机如何连接wifi台式,台式电脑怎么连wifi
  2. 谷粒商城分布式基础篇1-个人版
  3. html条件查询,高级查询条件设置- 通用查询-报表设计初级教程
  4. **蒙特卡洛计算定积分VC++**
  5. 说说jvm什么时候会回收垃圾
  6. 关于调用第三方sdk
  7. 37.图灵接口及电脑语音聊天
  8. 大学计算机基础网络配置实验报告答案,2008大学计算机基础实验报告参考答案...
  9. 名帖347 怀素 草书《大草千字文》
  10. Android肝帝战纪之Fragmentation的使用(单Activity+多Fragment设计)