Problem:
Problem A:ねこかわいがり

ある学園のキャンパス内には、多くのねこが住んでいる。なつめは、それらのねこをかわいがることを日課としている。
しかし、ねこ達は気まぐれで、キャンパスの外に散歩に出かけているかもしれない。

キャンパスの敷地は各辺が x 軸または y 軸に平行な長方形であり、門の部分を除いてフェンスで囲まれているが、ねこは門から自由に出入りできるし、また、フェンスを乗り越えて移動することもある。

ある日、なつめはキャンパス内にいるねこたちをなるべく平等にかわいがるために、キャンパス内に何匹のねこがいるのかを知りたいと考えた。
あなたの仕事は、座標平面上のキャンパスの位置とねこ達の座標が与えられたときに、キャンパス内にいるねこの数を求めることである。
ただし、フェンスの上を歩いているねこや、ちょうど門を通過中のねこもキャンパス内にいるとみなす。

Input

入力の1行目には、4つの整数 X, Y, W, H が、スペース文字で区切られて与えられる。これらはそれぞれ、キャンパスの南西端の x 座標、同地点の y 座標、キャンパスの東西方向の幅、およびキャンパスの南北方向の長さを表す。これらの値は、-10000 <= X, Y <= 10000 および 0 < W, H <= 10000 を満たす。

入力の2行目にはねこの数 N (0 < N <= 100) が与えられる。

続く N 行には、それぞれのねこについて1行に1匹ずつ、ねこの位置の x, y 座標を表す整数の組 (-50000 <= x, y <= 50000) が与えられる。

x 軸の正の方向は東、y 軸の正の方向は北であり、与えられる数値はすべて整数である。

Output

キャンパス内にいるねこの数を出力せよ。

Notes on Submission

上記形式で複数のデータセットが与えられます。入力データの 1 行目にデータセットの数が与えられます。各データセットに対する出力を上記形式で順番に出力するプログラムを作成して下さい。

Sample Input

2
1 3 20 10
4
21 13
1 15
10 10
25 10
1 3 20 10
4
21 13
1 15
10 10
25 10

Output for the Sample Input

2
2

Solution in JAVA (judge verdict: Accepted)

public class Main{
  public void run(java.io.InputStream in, java.io.PrintStream out){
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int x, y, w, h, n, m;
    int[] cx, cy;
    int i, j, count;

    m = sc.nextInt();

    for(i = 0;i < m;i++){
      x = sc.nextInt();
      y = sc.nextInt();
      w = sc.nextInt();
      h = sc.nextInt();
      n = sc.nextInt();
      count = 0;
      cx = new int[n];
      cy = new int[n];      

      for(j = 0;j < n;j++){
        cx[j] = sc.nextInt();
        cy[j] = sc.nextInt();
      }

      for(j = 0;j < n;j++){
        if(x <= cx[j] && cx[j] <= (x + w) && y <= cy[j] && cy[j] <= (y + h)){
          count++;
        }
      }

      System.out.println(count);
    }

    sc.close();

  }
  public static void main(String[] args){
    (new Main()).run(System.in, System.out);
  }
}