如果我们给出左下角,和右上角的坐标,就能唯一确定一个矩形。
现在给出这样一个矩形,想问问,对指定的m个点,有多少个点在该矩形内部。
注意,边界上的点,也算内部。
输入有m+2行。第一行一个整数m,表示点的数量
第二行四个数:x1,y1,x2,y2,分别表示左下角和右上角的横、纵坐标。
接下来m行,每行两个数x和y,表示某个点的坐标。
m≤1,000
输出仅一个整数,表示位于矩形内部的点的数量。
3
1 1 3 5
2 3
1 5
4 2
2
(2,3)、(1,5)这两个点位于矩形内部。
判断给的点的x和y是否左下角的右上方,并且再右上角点的左下方
代码:
#include <iostream>
using namespace std;
int main()
{
int m, x, y;
int x1, y1, x2, y2; //左下角和右上角的坐标
int cnt = 0; //数量
cin >> m; //输入m
cin >> x1 >> y1 >> x2 >> y2; //输入左下角和右上角的坐标
for (int i = 0; i < m; i++)
{
cin >> x >> y;
if (x >= x1 && x<=x2 && y>=y1 && y <= y2)
cnt++;
}
cout << cnt;
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!