Java——區域內點的個數
阿新 • • 發佈:2018-11-29
區域內點的個數
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
X晚上睡不著的時候不喜歡玩手機,也不喜歡打遊戲,他喜歡數星星。
Input
多組輸入。
每組先輸入一個整數N(N <= 10000),接著輸入兩個點代表矩形的左下點B(x,y)和右上點T(x,y),然後輸入N個(X,Y)代表N顆星星。問有多少顆星星在窗子內部,在窗邊上的不計。
Output
輸出一個整數,代表有多少顆星星在窗子內部。
Sample Input
3
0 1
3 4
1 1
2 2
3 3
Sample Output
1
AC程式碼:
import java.util.Scanner; class Point { int x, y; public Point(int x, int y) { this.x = x; this.y = y; } } class Rect { Point p1, p2; public Rect(Point x, Point y) { p1 = x; p2 = y; } public boolean panduan(Point p) { //判斷點是否在矩形內 if (p.x > p1.x && p.x < p2.x && p.y > p1.y && p.y < p2.y) { return true; } else { return false; } } } public class Main { public static void main(String[] args) { Scanner mi = new Scanner(System.in); while (mi.hasNext()) { int n = mi.nextInt(); Point p1 = new Point(mi.nextInt(), mi.nextInt()); Point p2 = new Point(mi.nextInt(), mi.nextInt()); Rect rect = new Rect(p1, p2); int count = 0; while (n-- > 0) { Point p = new Point(mi.nextInt(), mi.nextInt()); if (rect.panduan(p)) { count++; } } System.out.println(count); } mi.close(); } }
——————
餘生還請多多指教!