Description
一个n∗m的棋盘,上面有k个棋子,
Input
第一行三个整数n,m,k分别表示棋盘行列数和棋子个数,之后k行每行两个整数
Output
如果Volodya可以赢则输出YES,否则输出NO
Sample Input
2 2 1
1 2
Sample Output
YES
Solution
只要Vlad可以有四步领先,就可以把四个角分别先堵住一条边,这样以来无论Volodya怎么走,Vlad都可以一步步把Volodya的路堵死,否则Volodya往四个角跑Vlad堵不住,故只要判断是否存在一个点其到边界的距离不超过4即可,如果存在则先手必胜,否则先手必败
Code
#include<cstdio>
using namespace std;
int main()
{
int n,m,k,x,y;
while(~scanf("%d%d%d",&n,&m,&k))
{
int flag=0;
while(k--)
{
scanf("%d%d",&x,&y);
if(x<=5||x>=n-4||y<=5||y>=m-4)flag=1;
}
printf("%s\n",flag?"YES":"NO");
}
return 0;
}