51nod 1070 Bash游戏 V4 (博弈论_找规律)
2015-11-02 16:36
651 查看
1070 Bash游戏 V4
基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题
收藏
关注
有一堆石子共有N个。A B两个人轮流拿,A先拿。每次拿的数量最少1个,最多不超过对手上一次拿的数量的2倍(A第1次拿时要求不能全拿走)。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N,问最后谁能赢得比赛。
例如N = 3。A只能拿1颗或2颗,所以B可以拿到最后1颗石子。
Input
Output
Input示例
Output示例
斐波那契数列!!!!!
基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题
收藏
关注
有一堆石子共有N个。A B两个人轮流拿,A先拿。每次拿的数量最少1个,最多不超过对手上一次拿的数量的2倍(A第1次拿时要求不能全拿走)。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N,问最后谁能赢得比赛。
例如N = 3。A只能拿1颗或2颗,所以B可以拿到最后1颗石子。
Input
第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 1000) 第2 - T + 1行:每行1个数N。(1 <= N <= 10^9)
Output
共T行,如果A获胜输出A,如果B获胜输出B。
Input示例
3 2 3 4
Output示例
B B A
斐波那契数列!!!!!
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<map> using namespace std; const int maxn=1e9+10; map<int,int>book; void init() { int a=1,b=2; for(;a+b<=maxn;) { book[a]=1; book[b]=1; a=a+b; b=a+b; } } int main() { int t,n; init(); cin>>t; while(t--) { cin>>n; if(book ) cout<<"B"<<endl; else cout<<"A"<<endl; } return 0; }
相关文章推荐
- PowerShell入门(一):PowerShell能干什么?
- shell 使用printf
- shell script 之test
- 希尔排序
- PowerShell入门(序):为什么需要PowerShell?
- 认识与学习shell
- Javaweb架构分析安全之万户ezoffice全版本通杀上传GETSHELL
- shell 命令行的学习
- linux基础 --- shell
- 通过PowerShell 脚本在中国区Azure部署定制化HDInsight 集群
- shell script 学习笔记-----命令执行
- 编译android出现 /bin/bash: jar: command not found; /bin/bash: javah: command not found解决办法
- shell获取ip地址
- xshell怎样打印
- 使用bash解析xml
- ubuntu 修改默认 shell
- Mac 下更新 .bash_profile 文件
- shell脚本中$
- bash学习
- shell