#xns2025004. GCD Game I
GCD Game I
GCD Game I
题目描述
Alice和Bob正在玩一个游戏,他们需要轮流对一个序列进行操作,Alice先手。
每次操作可以删去该序列的开头的数或者结尾的数。如果当前序列中已经没有数或者整个序列的gcd(最大公约数)值不为 ,那么就无法进行操作。如果轮到某人时无法进行操作,那么他将输掉游戏。
现在给定他们的操作序列,请你判断游戏什么时候会结束以及谁会获胜。
输入描述
第一行输入一个整数 ,代表序列长度。
第二行输入 个整数,用空格隔开,代表要操作的序列。
第三行输入一个长度为 的 01 序列,代表轮到每个人时的操作方法;如果是 0 代表选择删去开头,是 1 代表选择删去结尾。
输出描述
输出两行,第一行输出一个整数 ,代表游戏会在第 次操作后结束。如果一开始就无法进行操作,则输出 ;
第二行输出 "Alice" 代表最后Alice会获得胜利,否则输出 "Bob"。
样例输入1
5
10 3 4 2 8
01010
样例输出1
3
Alice
样例1解释
一开始序列为 [10, 3, 4, 2, 8],gcd值为1;
第一次操作后序列变为[3, 4, 2, 8],gcd值为1;
第二次操作后序列变为[3, 4, 2],gcd值为1;
第三次操作后序列变为[4, 2],gcd值为2。
所以第三次操作后游戏结束,此时轮到Bob,所以Alice获得胜利。
样例输入2
4
2 4 6 8
0000
样例输出2
0
Bob
数据范围与约定
对于 的数据,保证整个序列的gcd值不为1;
对于 的数据,;
对于 的数据,,序列中的每个值 满足
相关
在下列比赛中: