acdream 1684(博弈)

题意:游戏规则很简单,一开始有一个集合,集合里有n个不同的数,然后Alice与Bob轮流进行操作,每人都可以任意选择两个数a,b,不妨设a>b,不过要求a-b不在集合中,把a-b放入集合。如果轮到某人,无法进行任何操作,则该人输掉游戏。那么问,当Alice与Bob都沿着最优策略进行,女士优先(即娜娜先手),最终谁会获胜?

题解:比如3、6、9无法产生新数字,因为这些数的最大公约数是3,9/3=3说明最多在3到9最多有3个数字,已经有了n=3个数字,那么填充0个数字,0是偶数所以输出Lose,再比如1、2、3、4、6所有数最大公约数1,6/1=6,说明1到6可以出现有6个数字,已有n=5个,需要再填充1个,1是奇数所以输出Win。规律找到就可以ac了。。

#include <stdio.h>
#include <algorithm>
using namespace std;
const int N = 1005;
int a[N], n;

int gcd(int a, int b) {
	return b == 0 ? a : gcd(b, a % b);
}

int main() {
	int t;
	scanf("%d", &t);
	while (t--) {
		scanf("%d%d", &n, &a[0]);
		int maxx = a[0];
		for (int i = 1; i < n; i++) {
			scanf("%d", &a[i]);
			maxx = max(maxx, a[i]);
		}
		int temp = gcd(a[0], a[1]);
		for (int i = 2; i < n; i++)
			temp = gcd(temp, a[i]);
		int res = maxx / temp - n;
		if (n != 1 && res % 2)
			printf("Win\n");
		else
			printf("Lose\n");
	}
	return 0;
}
时间: 2024-10-24 06:52:10

acdream 1684(博弈)的相关文章

acdream 1684 娜娜梦游仙境系列——莫名其妙的插曲 (gcd)

题意:一开始有一个集合,集合里有n个不同的数,然后Alice(娜娜)与Bob轮流进行操作,每人都可以任意选择两个数a,b,不妨设a>b,不过要求a-b不在集合中,把a-b放入集合(集合元素个数只增不减).如果轮到某人,无法进行任何操作,则该人输掉游戏.当Alice(娜娜)与Bob都沿着最优策略进行,娜娜先手,最终谁会获胜? 思路:减来减去的,跟最大公约数GCD差不多.此题没有什么最优的策略,都是平等的.用的也不是博弈知识. 最后不能操作的局面一定是{1g, 2g,3g......xg},3g表示

Acdream 1416 Crazy Nim(简单博弈找规律)

传送门 Crazy Nim Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Submit Statistic Next Problem Problem Description Alice and Bob like to play crazy nim. The game proceeds as follows. There are several stones arranged in

ACdream 1112 Alice and Bob(素筛+博弈SG函数)

Alice and Bob Time Limit:3000MS     Memory Limit:128000KB     64bit IO Format:%lld & %llu Submit Status Practice ACdream 1112 Description Here  is Alice and Bob again ! Alice and Bob are playing a game. There are several numbers. First, Alice choose

ACdream 1112 Alice and Bob (博弈&amp;amp;&amp;amp;素数筛选优化)

题目链接:传送门 游戏规则: 没次能够将一堆分成两堆 x = a*b (a!=1&&b!=1)x为原来堆的个数,a,b为新堆的个数. 也能够将原来的堆的个数变成原来堆的约数y.y!=x.进行最后一次操作的人获胜. 分析: 也是一个去石头的游戏,因此我们仅仅须要将全部情况的sg值异或起来就好了. 我们首先来考虑一堆.设这一堆的个数为x: 那么全部的情况就是 (a1,x/a1), (a2,x/a2),...,(an,x/an);或者(a1),(a2),..,(an). 由于数据量比較大,我们朴

ACdream 1112 Alice and Bob (博弈&amp;&amp;素数筛选优化)

题目链接:传送门 游戏规则: 没次可以将一堆分成两堆 x = a*b (a!=1&&b!=1)x为原来堆的个数,a,b为新堆的个数. 也可以将原来的堆的个数变成原来堆的约数y,y!=x.进行最后一次操作的人获胜. 分析: 也是一个去石头的游戏,因此我们只需要将所有情况的sg值异或起来就好了. 我们首先来考虑一堆.设这一堆的个数为x: 那么所有的情况就是 (a1,x/a1), (a2,x/a2),...,(an,x/an);或者(a1),(a2),..,(an). 由于数据量比较大,我们朴素

acdream原创群赛(16) --- B - Apple

<传送门> B - Apple Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) SubmitStatus Problem Description Alice and Bob are coming.This time, they are playing with apples. Initially, there are N baskets and M apples. Both bas

ACdream群赛1112(Alice and Bob)

题意:http://acdream.info/problem?pid=1112 Problem Description Here  is Alice and Bob again ! Alice and Bob are playing a game. There are several numbers.First, Alice choose a number n.Then he can replace n (n > 1)with one of its positive factor but not

苹果不再“雁过拔毛”的背后:利益博弈下谁是赢家?

自从库克成为苹果大当家后,苹果似乎就一直奔着利润一股脑地扎进去了.iPhone万年不变样,就连有所改变的iPhone X在售价上也是"穷凶极恶",吃相极其难看.而在今年4月份腾讯微信官方发布通告,更是将苹果推上风口浪尖.微信官方表示,由于受苹果公司新规定影响,iOS 平台的微信客户端关闭公众号打赏功能. 至于微博问答.知乎问答.今日头条及众多直播平台等在内,都逃不过苹果的"雁过拔毛"--苹果认为应用上的打赏属于"内购"行为,去抽取30%的分成.但

HDU1760 A New Tetris Game【DFS】【博弈】

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1760 题目大意: 给你一个N*M的矩阵棋盘.数字0代表该位置可用,数字1代表该位置不可以.Lele和姐姐在这个 棋盘上下棋,每次在棋盘上放一个大小为2*2的正方形,棋子间不能相互叠加.两个人轮流放,每 次都按最优策略放正方形.轮到谁没有地方放置棋子了,就算谁输.若每次都是Lele先放,那么问 题来了:Lele是否一定能赢姐姐呢. 思路: 博弈中的必胜态:当前所能到达的状态能到达一个必败态,则当前状