【線形探索メニュー】> 【特殊な探索】STEP: 6 長方形に含まれる点 (paizaランク C 相当) [難易度: 1449 ±18]
※リンク先へ移動するためには[paiza]へのログインが必要です。
整数 n と、二次元平面上の点 1 ~ n の座標 (x_1, y_1), ... , (x_n, y_n), 整数 x_s, x_t, y_s, y_t が与えられます。
n 個の点のうち、(x_s, y_s), (x_s, y_t), (x_t, y_t), (x_t, y_s) の4頂点からなる長方形の内部に含まれている点の数を求めてください。なお、長方形の辺上にある点は長方形に含まれているものとします。
入力値(例)
5
-9 5
0 4
2 -6
7 -4
-3 -1
-5 5
-5 5
出力値(例)
2
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php $n = trim(fgets(STDIN)); for ($i = 0; $i < $n; $i++) { list($x, $y) = explode(" ", trim(fgets(STDIN))); $ax[] = $x; $ay[] = $y; } list($xs, $xt) = explode(" ", trim(fgets(STDIN))); list($ys, $yt) = explode(" ", trim(fgets(STDIN))); $count = 0; for ($i = 0; $i < $n; $i++) { if ($xs <= $ax[$i] && $ax[$i] <= $xt && $ys <= $ay[$i] && $ay[$i] <= $yt) { $count++; } } echo $count; ?> |