HDU 5011 Game(西安网络赛E题)

HDU 5011 Game

题目链接

思路:其实就求一个Nim和即可,要推也不难推,和为0下一个必然是胜态,因为至少取走一个,在怎么分也达不到原来那个值了,如果是非0值,就和原来Nim一样必然可以取一堆使得变成0

代码:

#include <cstdio>
#include <cstring>

const int N = 100005;

int n;
long long a, sum;

int main() {
	while (~scanf("%d", &n)) {
		sum = 0;
		for (int i = 0 ; i < n; i++) {
			scanf("%I64d", &a);
			sum ^= a;
		}
		if (sum == 0) printf("Lose\n");
		else printf("Win\n");
	}
	return 0;
}


你可能感兴趣的:(HDU 5011 Game(西安网络赛E题))