蓝桥杯-每日刷题-021

判断点是否在矩形上

一、题目要求

  • 题目描述
    在平面直角坐标系中有一矩形左下角坐标是(a,b),右上角坐标是(c,d),矩形的边平行于坐标轴。
    现在有一系列点(xi,yi),i=0,…,n-1,请你判断它们与矩形的位置关系,分为在矩形内、在矩形上或在矩形外。
  • 输入格式
    输入有多组测试数据
    每组测试数据第一行是一个整数n,第二行是矩形的左下角和右上角的坐标,接下来n行是要判断的点。
    输入坐标均为整数点,数字范围在[-1000,1000]之间
  • 输出格式
    如果点在平面内或上就输出YES,否则输出NO,每个测试数据以空行区分。
  • 输入样例
    2
    0 0 4 5
    1 1
    5 8
    3
    1 2 5 7
    0 6
    3 4
    5 5
  • 输出样例
    YES
    NO
    /中间有空行/
    NO
    YES
    YES

二、完整代码

#include 

// 判断点的位置关系
std::string pointPosition(int x, int y, int a, int b, int c, int d) 
{
    if (x >= a && x <= c && y >= b && y <= d) 
    {
        return "YES";
    }
    else 
    {
        return "NO";
    }
}

int main() 
{
    int n;
    while (std::cin >> n) 
    {
        int a, b, c, d;
        std::cin >> a >> b >> c >> d;

        for (int i = 0; i < n; ++i) 
        {
            int x, y;
            std::cin >> x >> y;
            std::cout << pointPosition(x, y, a, b, c, d) << std::endl;
        }
        std::cout << std::endl;
    }

    return 0;
}

你可能感兴趣的:(蓝桥杯,算法,c++)