问题描述:
银行系中有很多恒星,H 君晚上无聊,便爬上房顶数星星,H 君将整个银河系看做一个平面,左上角为原点(坐标为(1, 1))。
现在有 n 颗星星,他给每颗星星都标上坐标(xi,yi)
表示这颗星星在第 x 行,第 y 列。
现在, H 君想问你 m 个问题,给你两个点的坐标(x1,y1)(x2,y2),表示一个矩形的左上角的点坐标和右下角的点坐标。
请问在这个矩形内有多少颗星星(边界上的点也算是矩形内)
题目:题目编号 1994
代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); //星星数量
ArrayList<Integer> xlist = new ArrayList();
ArrayList<Integer> ylist = new ArrayList();
for(int i = 1 ; i <= n ; i ++){
xlist.add(scanner.nextInt());
ylist.add(scanner.nextInt());
}
int q = scanner.nextInt(); //问题数量
for(long i = 1 ;i <= q;i ++){
int count = 0;
int x1 = scanner.nextInt();
int y1 = scanner.nextInt();
int x2 = scanner.nextInt();
int y2 = scanner.nextInt();
for(int j = 0 ; j < n;j ++ ){
if(xlist.get(j) >= x1 && xlist.get(j) <= x2 &&
ylist.get(j) >= y1 && ylist.get(j) <= y2)
count++;
}
System.out.println(count);
}
}
}
0.0分
0 人评分