タイトル説明
特別表彰式を調製するために、会場の矩形領域内の主催者は、長方形のカーペットの一部で覆われた(直交座標系の第一象限と見ることができます)。合計n個から数えカーペット、1 とN。今、これらの数に応じてカーペット昇順に順次以前に敷設されたカーペットの上にオーバーレイカーペットを敷設した後、軸に平行に敷設します。
カーペットの敷設が完了した後、主催者はポイント数の最上階を覆うカーペットを知りたいです。注:矩形の境界上の点、及びカーペットの4つの頂点がカーペットで覆われて考えることができます。
入力形式
入力コモンN + 2 行
最初の行、整数NN N-、合計表すNN n型カーペットを
次のn 行、I + 1 行はの数を表し、I 4つの正の整数を含む情報カーペット、A、B、G、Kをそれぞれカーペット敷きの空間によって分離された各二つの整数の間を、左下隅の座標(A、B)とでカーペットx軸及び縦y軸方向
N + 2 ラインは2つの正の整数含まX 及びYが、座標点を表す接地求めている(x、y)を
出力フォーマット
出力コモン11。一行、必要カーペットの数を表す整数であり、カーペット、ここで覆われていない場合には、出力-1
100,000データ範囲、二次元開口TLE IFまたは始点と終点データ構造の水平および垂直座標の存在下に一次元REに圧縮されます。それぞれの判断の範囲内にありません
1の#include <cstdioを> 2の#include <iostreamの> 3 の#define M 10010 4 使って 名前空間STDを、 5 構造体ノード 6 { 7 INTのX1、X2、Y1、Y2、 8 }; [M]をノード。 9 のint main()の 10 { 11 INT N。 12 のscanf(" %d個"、&N) 13 のために(int型 i = 1 ; iが<= N iが++ ) 14 { 15 INTX、Y、LX、LY。 16 のscanf(" %D%D%D%D "、およびX&Y、&LX、&LY)。 17 [I] .x1 =のX。 18 [i]は.x2 = X + LX。 19 [I] .y1 = Y。 20 [I] .y2 = Y + 1 LY。 21 } 22 int型G、H。 23 INT X = 1 。 24 のscanf(" %D%dの"、&G、およびH)。 25 のためには、(int型 I = N; I> = 1 ; i-- ) 26 もし(G> = [I] .x1 && G <= [I] .x2 && H> = [I] .y1 && H <= [I] .y2) 27 { 28 のprintf(" %dの" 、I)。 29 X = 0 。 30 ブレーク; 31 } 32 であれば(x == 1 ) 33 のprintf(" -1の\ n " ); 34 リターン 0 。 35 }