Codeforces Round #201 (Div. 1) A. Alice and Bob(数学)
2016-07-26 21:16
246 查看
题目地址:http://codeforces.com/problemset/problem/346/A
思路:最终无法再选择两个数,说明最后形成了一个公差为d的等差数列,即为d,d+d,d+2*d,……,d+(n-1)*d 。所以,只需求出原始数列所有数的最大公约数即可求出公差。最终数列元素个数=数列元素最大值/公差,减去n即为比赛过程中新增加的元素。由于A先开始游戏,所以如果新增加元素为奇数则A赢,否则B赢。
思路:最终无法再选择两个数,说明最后形成了一个公差为d的等差数列,即为d,d+d,d+2*d,……,d+(n-1)*d 。所以,只需求出原始数列所有数的最大公约数即可求出公差。最终数列元素个数=数列元素最大值/公差,减去n即为比赛过程中新增加的元素。由于A先开始游戏,所以如果新增加元素为奇数则A赢,否则B赢。
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int n,a[150]; int main() { scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&a[i]); int gcd=a[0],maxx=a[0]; for(int i=1;i<n;i++) { gcd=__gcd(gcd,a[i]); maxx=max(maxx,a[i]); } int step=maxx/gcd-n; printf("%s\n",step&1?"Alice":"Bob"); return 0; }
相关文章推荐
- CSR1010使用UART进行串口通信
- UVA 10098 Generating Fast
- 五种I/O模型
- hdu5762Teacher Bo+曼哈顿距离
- 单调栈
- 八大排序算法
- Expanding Rods
- python抓取知乎首页文本信息的简单实现
- mac下mysql无法开启或者关闭
- HDU 1874 畅通工程续【最短路,Dijkstra算法+spfa算法】
- Android开发学习之路-插件安装、检查应用是否安装解决方案
- 数组排序---插入排序
- [置顶] 算法考试小结
- Linux 删除Tomcat日志
- 一个人的北漂生活
- CodeForces 560A-Currency System in Geraldion
- About CI
- 大数据Spark “蘑菇云”行动前传第8课:零基础实战Scala最常用数据结构Map和Tuple及Spark源码解析
- android studio service
- 关于使用JavaFx在各个窗口之间值的传递