![codeforces 1058B - Vasya and Cornfield codeforces 1058B - Vasya and Cornfield](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
<题目链接>
题目大意:
给出一个矩形,该矩形的四个顶点分别为:(0,d),(d,0),(n,n−d) and (n−d,n)。然后给出一些点的坐标,分别判断这些点是否在该矩形内。
解题分析:
给出的矩形四条边方程完全可以很容易的推出来,然后再将该点带入这四个方程,判断是否符合条件即可。
#include <cstdio> int main(){
int n,d,m;
scanf("%d%d%d",&n,&d,&m);
while(m--){
int x,y;
scanf("%d%d",&x,&y);
if((x+y)>=d&&y<=(x+d)&&y>=(x-d)&&x+y<=(*n-d))printf("YES\n"); //算出的四条边方程
else{
printf("NO\n");
}
}
return ;
}
2018-09-28