矩形内D.ポイント

矩形内D.ポイント

時間の一点:2.0秒

メモリの制限:512メガバイト

4つの点の座標である長方形の二次元平面がある0 AをAは0 N- N- - A N- - A N- あなたは今持っているm個のポイントを、そして今、あなたは(エッジを考えることができる)この長方形内にどのように多くのポイントを知りたいです。

入力形式

入力の最初の行N- 1 A < N- 10 。3
第二行正の整数M 1 M 10 。3 数、あなたが持っている代表点、次のm行、各行は、点の座標のX I Y I 。1 X I Y I 10 3

出力フォーマット

長方形の出力の最初の行の点の数、直交座標で、出力点は、横軸に大きな優先度は、同じ横軸場合、大きな垂直に優先順位を調整します。そうでない場合は、出力- 1

サンプル

入力
6 1 
5 
1 2 
1 3 
2 3 
3 4 
4 5
出力
4 
4 5 
3 4 
2 3 
1 2
トピック分類::幾何学的に計算するための式の四辺,,我々は見つけることができ、その後、残りを判断します
ACコード:
#include <iostreamの> 
する#include <cstdioを> 
する#include <アルゴリズム> 
の#include <ベクトル>
 使用して 名前空間STD。
構造体STU {
     int型X、Y。
} E。
int型、nは、
ベクトル <STU> VEの。

BOOL CMP(STUのAA、STUのBB){
     場合(aa.x = bb.x!)を返す aa.x> bb.x。
    戻る > aa.y bb.y。
} 
int型のmain()
{ 
    CIN >> N >> int型のトン。
    cinを >> トン。
    int型X1、Y1;
    以下のためにint型 i = 0 ; iはTを<I ++は{)
        CIN >> EX >> EYと、
        もし(e.x + EY> = A && e.x + EY <= 2 * NA && e.xe.y <= A && e.ye.x <= A)//判断条件
            ve.push_back({E})。
    } 
    であれば(ve.size()== 0 
        プット(" -1 " )。
     
    { 
        COUT << ve.size()<< ENDL。
        ソート(ve.begin()、ve.end()、CMP); 
        以下のためにint型 i = 0 ; i)は(ve.sizeを<。
            COUT<< .X [I]まし<< "  " << [I] .Y <<ましENDL。    
    } 
    戻り 0 
}

 

おすすめ

転載: www.cnblogs.com/Accepting/p/11258725.html