取石头的问题
来源:互联网 发布:mysql忽略大小写 编辑:程序博客网 时间:2024/04/29 09:35
N个石头,2个人依次只能取1、3、4个石头,取到最后一个石头者赢。判断第一个取的人是否会赢。
下面的代码在时间复杂度上还有很严重的问题,N为2位数时还好,大于100直接蹦掉了,希望有大牛给修正下。。。。
不过这个题也可以先算出来规律,然后一行代码搞定~~
对于这种取法,除以7余0或者除以7余2时,先取的人都会输,其他情况下,先取的都能保证赢~~
#include <iostream>using namespace std;bool choose(int n){ bool b1,b2,b3; if(n>4) { b1=!choose(n-1); b2=!choose(n-3); b3=!choose(n-4); return (b1||b2||b3); } else { switch (n) { case 1: return true; case 2: return false; case 3: return true; case 4: return true; } }}int main(){ //cout << "Hello world!" << endl; int num; while(1){ cout<<"请输入石头总数:\n"<<endl; cin>>num; cout<<choose(num)<<endl; } return 0;}
- 取石头的问题
- 一排石头的游戏(取石头)C语言实现
- 一排石头的游戏问题
- 扔石头的问题Stone
- 巴什博奕 -取石头游戏
- 取石头游戏
- 几个取石头的博弈~~简单归纳,大神不要笑~~
- 几个取石头的博弈~~简单归纳,大神不要笑~~
- 不能移动的石头合并问题
- 3.取石头 (15分)
- 36.取石头 (10分)
- ctguoj-取石头 (15分)
- 隐含的排序问题 质量相同石头木头配对问题
- 石头合并问题
- 拿石头问题
- 两个人玩石头剪刀布的问题升级版
- 编程之美 一排石头的游戏(拓展问题)
- 【HNOI2010】【BZOJ2000】stone 取石头游戏
- C、C++、Java回顾
- VISUAL SVN安装 及客户端使用
- c语言一个队列实现
- 设置Eclipse选中变量的阴影效果
- Android监听HOME按键
- 取石头的问题
- 关于固话区号问题
- oracle:ora-12560:tns:协议适配器错误
- 查询谁修改了数据库的恢复模式
- 趨勢圖(MSChart)
- 在Oracle 11g中构建点云数据类型
- ToString用法
- 色彩基本概念
- esri_sde服务无法启动,启动后自动停止问题的解决方法