codeforces 1058B - Vasya and Cornfield

<题目链接>

题目大意:

给出一个矩形,该矩形的四个顶点分别为:(0,d),(d,0),(n,nd) and (nd,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<=(2*n-d))printf("YES\n");    //算出的四条边方程
        else{
            printf("NO\n");
        }
    } 
    return 0;
}

2018-09-28

猜你喜欢

转载自www.cnblogs.com/00isok/p/9721432.html
今日推荐