题目挺简单的,看成简单的线性规划,长方形的外围就是直线方程的左边或者右边,a+b-d<0就是直线x-y+常数<0.
http://codeforces.com/problemset/problem/1058/B
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int n,d;
while(scanf("%d %d",&n,&d)!=EOF)
{
int m;
scanf("%d",&m);
while(m--)
{
int flag=0;
int a,b;
scanf("%d%d",&a,&b);
if((a+b-d)<0) flag=1;
if((a+b-2*n+d)>0) flag=1;
if((b-a-d)>0) flag=1;
if((b-a+d)<0) flag=1;
if(flag==1) printf("NO\n");
if(flag==0) printf("YES\n");
}
}
return 0;
}