标签:turn class lag 开始 flag cout main include 需要
又是奇怪的博弈论
这道题有很多的结论啊,从题解一个一个抄过来:
一旦开始了这种暴力取边的博弈的时候,谁最先碰到天生0边,谁就输了。
因为整个游戏是个环,所以先手有两种机会能赢,而两个方向中只要有一个能赢,那它就会取这个方向,使自己赢。
先手能赢的条件也十分显然:只要两个方向中,存在起点离第一条天生0边距离为奇数时,就赢了。
代码都很简单:
#include<bits/stdc++.h>
using std::cin;
using std::cout;
using std::endl;
const int maxn = 25;
int a[maxn], n;
bool flag1, flag2;
int main() {
cin >> n;
for(int i = 1; i <= n; i++) cin >> a[i];
for(int i = 1; i <= n; i++) {
if(a[i] == 0) {
flag1 = !(i % 2); break;
}
}
for(int i = n; i >= 1; i--) {
if(a[i] == 0) {
flag2 = !((n - i + 1) % 2); break;
}
}
if(flag1 || flag2) puts("YES");
else puts("NO");
return 0;
}
标签:turn class lag 开始 flag cout main include 需要
原文地址:https://www.cnblogs.com/Garen-Wang/p/11273547.html