题目链接

戳我

\(Solution\)

这道题第一眼看样例,猜了个结论偶数\(Alice\)赢,否则\(Bob\)赢,打了一发,交了上去果不其然的\(wa\)了,第二次猜\(2\)的幂次方\(Alice\)赢,否则\(Bob\)赢,这次没有再交上去了,打了个表发现并不对。于是开始了推结论。

我们现在根据样例已经知道了\(3\)为先手输,于是能变成\(3\)的是那些呢?很显然可以发现时$4 \(~\) 2*3-1$,所以下一个先手输的为\(7\),以此类推。如果你不想找规律了你可以直接见\(Code1\),如果想推推公式可以继续看下去,我们观察发现\(1,3,7,31\)都为\(2^k-1\)于是我们现在就是要证明这个结论正确

我们发现下一个输的为上一个输的\(*2+1\)于是带入式子:

\[(2^k-1)*2+1=2^{k+1}+1
\]

依旧满足那个式子,所以结论成立,代码见\(Code2\)

\(Code1\)

#include<bits/stdc++.h>
using namespace std;
int n;
map<int,int> f;
int main(){
for(int i=1;i<=1e9;i=i*2+1)
f[i]=1;
while(scanf("%d",&n)!=EOF){
if(!n) return 0;
if(f[n]==1) puts("Bob");
else puts("Alice");
}
}

\(Code2\)

#include<bits/stdc++.h>
using namespace std;
int n;
int main(){
while(scanf("%d",&n)!=EOF){
if(!n) return 0;
if(floor(log(n+1)/log(2))==log(n+1)/log(2))
puts("Bob");
else puts("Alice");
}
}

最新文章

  1. 自建git node pm2 (不赘述,就说遇见的问题)
  2. [Linux] vimdiff 快速比较和合并少量文件
  3. Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
  4. Linux中用stat命令查看文件时3个时间点解析
  5. js中批量处理样式——cssText的使用
  6. 用Autohotkey让powerpoint幻灯片一直播放
  7. asp.net gridview中增加单击单元格事件
  8. 接口中的成员变量必须是static
  9. JavaScript HTML DOM 元素(节点)
  10. 3分钟利用TurnipBit制作电子时钟
  11. Android Multimedia框架总结(二十二)MediaCodec中C++中创建到start过程及状态变换
  12. 注入技术--LSP劫持注入
  13. python 基础 01
  14. linux下面重启apche 与mysql服务
  15. 10大H5前端框架 ......&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;
  16. Python 入门基础12 --函数基础5 匿名函数、内置函数
  17. 设计模式之模板方法模式&amp;&amp;迪米特法则(代码Objective-C展示)
  18. go 内建变量类型
  19. java判断字符串内容
  20. MySQL技术内幕:SQL编程 第2章 数据类型 读书笔记

热门文章

  1. js修改当前页面地址栏参数
  2. 【js】面向对象学习资料
  3. 小白学 Python 爬虫(25):爬取股票信息
  4. 【JavaScript】js中的构造函数,和构造函数的实例中的原型详解
  5. 基于光线追踪的渲染中景深(Depth of field)效果的实现
  6. &lt;(* ̄▽ ̄*)/低碳生活管理系统
  7. ssh登录缓慢,使用ssh -v登录后,显示在 “pledge: network” 处卡顿:
  8. 彻底卸载mysql数据库~
  9. current status of the installation and the internationalization of Samba 3.0
  10. task_struct原码解读