少なくともに満たすべきアッパー手の勝利条件\(1 \)セクション:
- 最初は左の初期位置から来る\(0 \) (含む側の偶数を通じて、位置\(0 \) 、このエッジ)。
- 最初は右に初期位置から来る(0 \)\(含む側の偶数を通じて、位置\(0 \) 、このエッジ)。
それ以外の場合は、上の手を失います。
#include<stdio.h>
#include<string.h>
using namespace std;
const int maxn = 25;
int a[maxn], n, ans;
int main()
{
scanf("%d", &n);
ans = 0;
for(int i = 1; i <= n; i++){
scanf("%d", &a[i]);
}
for(int i = 1; i <= n; i++){
if(a[i] == 0){
if(i % 2 == 0) ans = 1;
break;
}
}
for(int i = n; i >= 1; i--){
if(a[i] == 0){
if((n + 1 - i) % 2 == 0) ans = 1;
break;
}
}
if(ans == 1) puts("YES");
else printf("NO");
return 0;
}