取石子游戏

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 2640    Accepted Submission(s): 1503

Problem Description
1堆石子有n个,两人轮流取.先取者第1次能够取随意多个。但不能所有取完.以后每次取的石子数不能超过上次取子数的2倍。

取完者胜.先取者负输出"Second win".先取者胜输出"First win".

 
Input
输入有多组.每组第1行是2<=n<2^31. n=0退出.
 
Output
先取者负输出"Second win". 先取者胜输出"First win".

參看Sample Output.
 
Sample Input
2
13
10000
0
 
Sample Output
Second win
Second win
First win
 
Source
 

打表找规律,规律为斐波那契数列

#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <string>
#include <algorithm>
#include <queue>
#include <set>
using namespace std;
int n;
set<int>fib;
int main(){ long long a=2,b=3,c=5;
fib.insert(2);
fib.insert(3);
long long end = (1<<31)-1;
//cout<<end<<endl;
while(c <= end){
fib.insert(c);
a = b;
b = c;
c = a+b;
}
while(cin >> n && n){
if(fib.count(n)==0){
cout<<"First win"<<endl;
}else{
cout<<"Second win"<<endl;
}
}
return 0;
}

最新文章

  1. js方法入参或局部变量和全局变量重名,用来赋值全局变量会失败
  2. 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】
  3. 使用DotNetBar制作漂亮的WinFrom界面,自定义AgileEAS.NET SOA平台WinClient主界面
  4. 为什么使用spring
  5. C++中的new与delete(二)
  6. 程序设计入门——C语言 第2周编程练习 1时间换算(5分)
  7. java的nio之:java的bio流下实现的socket服务器同步阻塞模型和socket的伪异步的socket服务器的通信模型
  8. 总结Ajax跨域调用问题
  9. C#_dropdownlist_2
  10. C#导入导出Excel表的数据
  11. Mac电脑手动清理
  12. Ubuntu 8.04下安装DB2方法
  13. Android 常用的ORM框架详解
  14. 洛谷 P1338 末日的传说
  15. Python下Tesseract Ocr引擎及安装介绍
  16. 7-安装Spark
  17. Django之ORM查询复习与cookie
  18. C++中路径的处理方法(string)
  19. 『Github』简易使用指南
  20. POJ 1002 487-3279(map映照容器的使用)

热门文章

  1. 解析汽车B2C商城网站四种盈利模式
  2. 读懂Java中的Socket编程(转)
  3. 番外:android模拟器连不上网
  4. cocoapod安装失败解决
  5. Spring IOC及AOP学习总结
  6. SWT的文件选择对话框I的使用
  7. Socket编程实践(12) --UDP编程基础
  8. 也说Javascript对象拷贝及疑问
  9. SQL Server Insert操作中的锁
  10. hihoCoder #1174:拓扑排序&amp;#183;一