区域内点的个数
Time Limit: 1000MS
Memory Limit: 65536KB
Problem Description
X晚上睡不着的时候不喜欢玩手机,也不喜欢打游戏,他喜欢数星星。
Input
多组输入。
每组先输入一个整数N(N <= 10000),接着输入两个点代表矩形的左下点B(x,y)和右上点T(x,y),然后输入N个(X,Y)代表N颗星星。问有多少颗星星在窗子内部,在窗边上的不计。
Output
输出一个整数,代表有多少颗星星在窗子内部。
Example Input
3 0 1 3 4 1 1 2 2 3 3
Example Output
1
//package hello; import java.util.Scanner; class Point { int x; int y; public Point(int x, int y) { this.x = x; this.y = y; } public boolean inRect(Point p1, Point p2) { boolean flag = false; if (x > p1.x && x < p2.x && y > p1.y && y < p2.y) { flag = true; } return flag; } } public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); while (cin.hasNext()) { int count = cin.nextInt(); Point points; int px1 = cin.nextInt(); int py1 = cin.nextInt(); int px2 = cin.nextInt(); int py2 = cin.nextInt(); Point p1 = new Point(px1, py1); Point p2 = new Point(px2, py2); int answer = 0; for (int i = 0; i < count; i++) { points = new Point(cin.nextInt(), cin.nextInt()); if (points.inRect(p1, p2)) { answer++; } } System.out.println(answer); } cin.close(); } }