【CodeForces - 347C 】Alice and Bob (思维,数学,等差数列)

题干:

It is so boring in the summer holiday, isn't it? So Alice and Bob have invented a new game to play. The rules are as follows. First, they get a set of n distinct integers. And then they take turns to make the following moves. During each move, either Alice or Bob (the player whose turn is the current) can choose two distinct integers x and y from the set, such that the set doesn't contain their absolute difference |x - y|. Then this player adds integer |x - y| to the set (so, the size of the set increases by one).

If the current player has no valid move, he (or she) loses the game. The question is who will finally win the game if both players play optimally. Remember that Alice always moves first.

Input

The first line contains an integer n (2 ≤ n ≤ 100) — the initial number of elements in the set. The second line contains n distinct space-separated integers a1, a2, ..., an (1 ≤ ai ≤ 109) — the elements of the set.

Output

Print a single line with the winner's name. If Alice wins print "Alice", otherwise print "Bob" (without quotes).

Examples

Input

2
2 3

Output

Alice

Input

2
5 3

Output

Alice

Input

3
5 6 7

Output

Bob

Note

Consider the first test sample. Alice moves first, and the only move she can do is to choose 2 and 3, then to add 1 to the set. Next Bob moves, there is no valid move anymore, so the winner is Alice.

题目大意:

  给你一个数的序列,定义一种操作:任选两个不同的数,将他们的差的绝对值加入序列中(注意操作中不涉及删除元素)。问你需要多少次操作可以操作到无法操作,如果操作次数是奇数 那就Alice赢,偶数就Bob赢,让你输出最后谁获得胜利。

解题报告:

  其实原题干不是这么写的,,原题看起来像是个博弈问题,,但是其实分析以后不难发现,其实就是个操作次数的奇偶问题。(其实也可能是可以证明,给定一个初始序列之后,那么操作次数就已经固定了,我们只需要求出这个数是奇数还是偶数就可以了。)

  分析到这一步,然后我们从结果入手,结果序列一定是不能再操作的,我们假设这个序列是个递增序列的话(其实他加这个绝对值的原因就是告诉你:你可以把这个序列当成一个递增序列去看,,因为他添加数了啊也没说添加到哪里,如果默认添加到最后,那么这个序列肯定就不是一个递增序列了,所以他说有绝对值,就是为了让你把它当成一个排好序的递增的),那么我们任意两项的差都在这个序列中,也就是说这个数列一定是一个等差数列,并且排好序后的最大项一定是an,那么我们能得到的最小值是多少呢?根据求gcd的原理我们知道,两个数相减,得到的一定是两个数的gcd的倍数。根据这个原理,我们知道最小的数一定是这n个数的gcd,求值,也就是最终序列的a[1]。现在我们有了最终序列的a[1]和a[all],现在要求一共操作了多少次才变成这个序列。因为每一次操作只增加一个元素,那么增加了多少个元素,肯定就操作了多少次呗。那么增加了多少个元素呢?最终序列元素个数为all,初始序列为n个,那作差就是答案啊。然后判断这个答案的奇偶性就可以了。

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e5 + 5;
int a[MAX];
int main()
{int n;cin>>n;for(int i = 1; i<=n; i++) scanf("%d",a+i);sort(a+1,a+n+1);int g = a[1];for(int i = 2; i<=n; i++) g = __gcd(a[i],g);int tmp = a[n]/g - n;if(tmp&1) puts("Alice");else puts("Bob");return 0 ;}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/441063.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java读取yaml配置文件,snakeyaml读取yaml配置文件

下面上我解析yaml文件的例子&#xff1a;// me.yamlage: 1name: jiaobuchongparams:event: whats upurl: http://www.jiaobuchong.comfavoriteBooks:- Gone with the wind- The Little Prince对应的JavaBean类&#xff1a;// Me.javapublic class Me {private Integer age;priv…

算法讲解 -- 区间dp经典模型与优化(石子归并)

石子合并问题是最经典的DP问题。首先它有如下3种题型&#xff1a; PPT讲解&#xff1a;点击打开链接 (1)有N堆石子&#xff0c;现要将石子有序的合并成一堆&#xff0c;规定如下&#xff1a;每次只能移动任意的2堆石子合并&#xff0c;合并花费为新合成的一堆石子的数量。求将…

cpu影响matlab仿真速度吗,Proteus仿真速度很慢的分析

类型&#xff1a;行业软件大小&#xff1a;1.1M语言&#xff1a;中文 评分&#xff1a;6.5标签&#xff1a;立即下载这篇文章是我的个人实践经验&#xff1a;很多朋友在做Proteus硬件仿真的时候可能都碰上了仿真速度慢的问题&#xff0c;在点击了开始仿真之后&#xff0c;CPU过…

【HDU - 5900】QSC and Master(区间dp)

题干&#xff1a; Every school has some legends, Northeastern University is the same. Enter from the north gate of Northeastern University&#xff0c;You are facing the main building of Northeastern University.Ninety-nine percent of the students have not …

php set_timeout,和 JS 一样的 php setTimeout 函数

112016-07-11 21:34:11 08:00szopen 貌似没有复杂啊//enable ticksdeclare (ticks 1);//setTimeout event list$timeoutQueue new SplObjectStorage;register_tick_function(function() {global $timeoutQueue;foreach ($timeoutQueue as $v) {$callBack $v();if (is_callab…

mysql 7天自动拒单功能,mysql查询最近7天的数据,没有数据自动补0

select DATE( createtime) date , createtime, count(1) as count from order表 where DATEDIFF( now(), createtime)<7group by date ;12 月九号没有;给他在关联一张日期的表;--生成从今天开始完整的7天日期DECLARE LastSevenDaytable(day date)DECLARE StartDaydate …

【UVA - 10038】Jolly Jumpers (模拟,水题,标记)

题干&#xff1a; 题目大意&#xff1a; 要任意相邻的两个数的绝对值在[1,n)&#xff0c;而且这个范围内的每个数都要出现一次。 解题报告&#xff1a; 直接模拟就行了、 AC代码&#xff1a; #include<cstdio> #include<iostream> #include<algorithm> …

基于维纳滤波的语音增强算法 matlab,基于维纳滤波语音增强算法的改进实现

通过对维纳滤波的介绍,实现了基本维纳滤波效果;利用两级维纳滤波和两级滤波器组滤波方法实现了语音增强,达到了良好的效果。维普资讯 http://doc.docsou.com文章编号&#xff1a;0 2 8 8 (o 7 0 - 0 4 0 10—6 4 2 o )1 0 4 - 3基于维纳滤波语音增强算法的改进实现白文雅&#…

【CodeForces - 245H 】Queries for Number of Palindromes (带容斥的区间dp)

题干&#xff1a; Youve got a string s  s1s2... s|s| of length |s|, consisting of lowercase English letters. There also are q queries, each query is described by two integers li, ri (1 ≤ li ≤ ri ≤ |s|). The answer to the query is the number of …

php7 获取文件类型,太简单了!PHP获取文件扩展名的7中方法

PHP中获取文件扩展名的方法第一种&#xff1a;$file x.y.z.png;echo substr(strrchr($file, .), 1);解析&#xff1a;strrchr($file, .)strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置&#xff0c;并返回从该位置到字符串结尾的所有字符第二种&#xff1a;$file…

【EOJ Monthly 2018.12 - A,B,C】套题训练,部分题解

A. 题干&#xff1a; A. 仰望星空 单测试点时限: 2.0 秒 内存限制: 512 MB 你就这样静坐在草地上&#xff0c;离我稍远的地方。 我用眼角瞅着你&#xff0c;你什么话也别说。 语言是误会的根源。 但是&#xff0c;每天&#xff0c;你可以坐得离我近一些…… 你和她一起仰头…

php android 复制粘贴板,Android_Android剪贴板用法详解,本文实例详述了Android剪贴板的 - phpStudy...

Android剪贴板用法详解本文实例详述了Android剪贴板的用法&#xff0c;分享给大家供大家参考。具体方法分析如下&#xff1a;这里首先需要注意的一点&#xff0c;就是在使用Android剪贴板的时候大家只记住一点就行了&#xff0c;不管是安卓设备还是PC机&#xff0c;复制粘贴在同…

【Uva - 10047 】The Monocycle(搜索,bfs记录状态)

题干&#xff1a; Uva的题目就不粘贴题干了&#xff0c;&#xff0c;直接上题意吧。 有你一个独轮车&#xff0c;车轮有5种颜色&#xff0c;为了5中颜色的相对位置是确定的。有两种操作&#xff1a;1.滚动&#xff1a;轮子必须沿着顺时针方向滚动&#xff0c;每滚动一次会到达…

matlab中bwlabel意思,Matlab 里bwlabel 函数的具体含义

Matlab函数bwlabel&#xff1a;在二值图像中标记连通区域用法&#xff1a;L bwlabel(BW,n)返回一个和BW大小相同的L矩阵&#xff0c;包含了标记了BW中每个连通区域的类别标签&#xff0c;这些标签的值为1、2、num(连通区域的个数)。n的值为4或8&#xff0c;表示是按4连通寻找区…

php百度搜索框代码,基于jquery的仿百度搜索框效果代码_jquery

先看看整个的效果图&#xff1a;图一&#xff1a;图二&#xff1a;图三&#xff1a;图四&#xff1a;大概的效果图就这样&#xff0c;接下来直接看源码页面&#xff1a;CSS&#xff1a;.autoSearchText{border:solid 1px #CFCFCF;height:20px;color:Gray;}.menu_v{margin:0;pad…

【UVA - 227】Puzzle (模拟,水题)

题干&#xff1a; Puzzle A childrens puzzle that was popular 30 years ago consisted of a 5x5 frame which contained 24 small squares of equal size. A unique letter of the alphabet was printed on each small square. Since there were only 24 squares within the…

php 解析mib文件,Mib库解析

MibAnalyser介绍MibAnalyser可以解析MIB文件&#xff0c;并转化为对应的实体&#xff0c;持久化到本地。MibAnalyser分为三个模块&#xff1a;解析模块、持久化模块、工具库模块。解析模块解析模块用于解析MIB文件的语法&#xff0c;并最终生成实体列表。管理模块由于对MIB文件…

【CodeForces - 299C 】Weird Game (思维,模拟,贪心,博弈,OAE思想)

题干&#xff1a; Yaroslav, Andrey and Roman can play cubes for hours and hours. But the game is for three, so when Roman doesnt show up, Yaroslav and Andrey play another game. Roman leaves a word for each of them. Each word consists of 2n binary characte…

matlab大作业题题单,2011MATLAB大作业-题目-

(1)求解线性规划问题&#xff1a;minZ 4x1 x2 7x3s.t.x1 x2 x3 53x1 x2 x3 4x1 x2 4x3 7x1,x2 0问各xi分别取何值时&#xff0c;Z有何极小值。(2)编写一个函数&#xff0c;使其能够产生如下的分段函数&#xff1a;0.5x&#xff0c;x 2f(x) 1.5 0.25x&#xff0c;2 x 6&#xff…

【CodeForces - 298D】Fish Weight (OAE思想,思维)

题干&#xff1a; It is known that there are k fish species in the polar ocean, numbered from 1 to k. They are sorted by non-decreasing order of their weight, which is a positive number. Let the weight of the i-th type of fish be wi, then 0 < w1 ≤ …