【思路】分析棋盘可以发现,对于四个角落来说,每个角落都有两条边,也就是说四个角落一共多出四条边,加上原先边界的一条边,则一共5条边,所有当某个棋子距离边界的距离小于5的时候,这五条边一定存在某条边没有被封闭,则先手必胜,否则先手必败。
【代码如下】
#include <bits/stdc++.h>
using namespace std;
int n,m,k;
int main(){
scanf("%d%d%d",&n,&m,&k);
int flag = 0;
for(int i = 1; i <= k; i ++){
int x,y;
scanf("%d%d",&x,&y);
if(x <= 5 || y <= 5 || x >= n-4 || y >= m-4) flag = 1;
}
if(flag) printf("YES\n");
else printf("NO\n");
return 0;
}