アナログ - カーペット

タイトル説明

特別表彰式を調製するために、会場の矩形領域内の主催者は、長方形のカーペットの一部で覆われた(直交座標系の第一象限と見ることができます)。合計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 }

 

おすすめ

転載: www.cnblogs.com/very-beginning/p/11789794.html