题目描述
给定一个 3×3 的棋盘,共有 3×3=9 个格子,初始时每个格子均没有放置棋子。
A 和 B 轮流行动,每次行动的人,必须在当前棋盘上选择一个没有放置棋子的格子,然后在该格子放置一个棋子。
若某棋手放置一个棋子后,该棋子与另外两个棋子(不论是谁放置的都可以)达成三子连珠(即三个棋子连成一条线,水平、垂直、主副对角线均可),则该棋手获胜。
A 总是先手。
请判断,若 A 将第一个棋子放置于格子 (x,y) 后,是否 A 最终会获胜(A,B 总是采取最优策略)。
下标从 1 开始,处在第 x 行、第 y列的格子坐标为 (x,y)。
输入描述:
第一行输入两个正整数 1≤x≤3, 1≤y≤3,以空格相隔,表示 A 第一个棋子放置的格子坐标。
输出描述:
若 A 将第一个棋子放置于格子 (x,y) 后,A 最终会获胜,则输出 "YES"(不含引号),否则输出 "NO"(不含引号)。
示例1
输入
2 2
输出
YES
备注:
若 A 将第一个格子置于 (2,2) 处,即棋盘中心,那么无论下一个棋子 B 放在何处,A 都可以再落一子达成三点共线获胜。于是,输出 “YES”(不含引号)。
(上图 A1, B1, A2 分别表示 A B 的轮流行动,可以看到,A2 落下时,A 获胜)
简单博弈,先手必胜
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x,y;
cin >> x >> y;
cout<<"YES";
return 0;
}
版权声明:本文为m0_72567213原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。