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