题意:有一堆数,然后有两个人轮流从中取出两个数,这两个数的差的绝对值不在这个集合,然后把这个数放进这个集合,如果哪个人不能拿了,就是输了,问你谁赢。

析:当时连题意都没看好,以为拿出两个数,就不放回了,如果好好分析第三组样例,就不会看成这样了。

思路应该是这样的,既然是拿了再放差的绝对值放进去,那么最后肯定会形成一个等差数列的,想想对不对,可以写几个试试,那么然后除以最大公约数,就能形成一个1-最大数的

等差队列,最大数就是输入的最大数,因为两个正数作差,肯定比最大的小。那么答案就有了。

代码如下:

#include <bits/stdc++.h>

using namespace std;
typedef long long LL;
const int maxn = 1e2 + 5;
int a[maxn]; int gcd(int a, int b){ return b == 0 ? a : gcd(b, a%b); } int main(){
int n;
cin >> n;
for(int i = 0; i < n; ++i) cin >> a[i];
sort(a, a+n);
int g = a[0];
for(int i = 1; i < n; ++i) g = gcd(g, a[i]);
int ans = a[n-1] / g - n;
if(ans & 1) puts("Alice");
else puts("Bob");
return 0;
}

最新文章

  1. redis-windows执行redis-cli查询
  2. 关于datarow的状态
  3. lnmp搭建
  4. JavaScript 中的Object的使用详解笔记(一)
  5. Java基础——多态
  6. 如何启用Oracle EBS Form监控
  7. pc端前端和手機端區別
  8. Convert List&lt;Entity&gt; to Json String.
  9. Unable to handle kernel paging request at virtual address
  10. linux服务器上安装python 3.6.3
  11. spring mvc 返回类型
  12. redis 相关知识点
  13. recv函数返回值说明
  14. Centos7 Jenkins
  15. JVM GC 机制与性能优化
  16. curl 命令大全
  17. 性能测试工具——LoadRunner篇(一)
  18. c#中用DirectShow实现媒体播放器
  19. asp.net服务器上无法发送邮件的问题
  20. Java基础学习-常见API

热门文章

  1. C++ cosnt的一点总结
  2. 03——微信小程序官方demo讲解——page部分
  3. php Reflection
  4. [BZOJ][CQOI2014]数三角形
  5. Novell云计算
  6. C# 提取方法重构
  7. ChannelHandler,ChannelHandlerContext,ChannelPipeline
  8. Spring+Log4j的集成总结
  9. bootstrap中的modal 模态弹出框不能放在 form_for里面,一弹出modal会自动submit掉form
  10. git如何处理别人的pull request及解决冲突 (转)