CODEFORCES-1216 C.白いシート

   C.白いシート

トピックへのリンク:https://codeforces.com/contest/1216/problem/C

 

トピックの効果:あなたは完全に白い四角形黒い長方形で覆うことができるかどうか尋ねる、あなたの左下2つの黒い四角形と白の長方形と右上隅の座標を与えるために、

問題解決のアイデア:白い四角形は完全に黒の四角形で覆うことができる場合は、すべてのポイントは、黒い長方形の白い長方形の端にあるので、我々は反復を考慮することができます

すべての白点の両側が、エッジ2の長さがカバーされていない場合にのみ点のループ反復トラバーサル整数座標について、すなわち上記プロセスによるものであるが、依然として侯1-5及び7を仮定する(検出することができ同じにわたって横断するようにされており、-10被覆することができます

xは正しい答えを得ることができる点6である)が、それはそれ1、であれば、この時点では明らかに検出されていないので、我々は、この範囲のズームをカバーすることはできません考慮し、今回は作るために少しを検出することができ、その第3のグループは、タイトル(参加する指定されたタイトルの意味を満たしていません

サンプル列)。

書式#include <iostreamの>
 使用して 名前空間はstdを、
int型のX1、X2、X3、X4、X5、X6;
int型Y1、Y2、Y3、Y4、Y5、Y6;
BOOLチェック(int型のx、int型 Y、INT X1、INT Y1、INT X2、INT Y2)
{ 
    戻り X <X1 || X> X2 || Y <Y1 || Y> Y2; 
} 
ボイド解く()
{ 
    INT X = X1、X <= X 2、X ++ 
    { 
        場合(チェック(X、Y1、X3、Y3、X4、Y4)&& チェック(X、Y1、X5、Y5、X6、 Y6))
        { 
             COUT << "YES " << ENDL;
              返す; 
        } 
        もし(チェック(X、Y2、X3、Y3、X4、Y4)&& チェック(X、Y2、X5、Y5、X6、Y6))
        { 
             COUT << " YES " << ENDL;
              返す; 
        }     
    } 
    のためにINT Y = Y1、Y <= Y2、Y ++ 
    { 
        もし、((X1、Y、X3、Y3、X4、Y4)を確認&& チェック(X1、Y、X5、Y5、X6、 Y6))
        { 
             COUT << " YES " << ENDL。
             リターン
        } 
        であれば(チェック(X2、Y、X3、Y3、X4、Y4)&& チェック(X2、Y、X5、Y5、X6、Y6))
        { 
             COUT << " YES " << ENDL。
             返します
        }     
    } 
    COUT << " NO " << ENDL。
} 
int型のmain()
{ 
    
    CIN >> X1 >> Y1 >> X2 >> Y2。
    CIN >> X3 >> Y3 >> X4 >> Y4。
    CIN >> X5 >> Y5 >> X6 >> Y6。
    X1 * = 2 ; Y1 * = 2 ; 
    X2 * =2 ; Y2 * = 2 ; 
    X3 * = 2 ; Y3 * = 2 ; 
    X4 * = 2 ; Y4 * = 2 ; 
    X5 * = 2 ; Y5 * = 2 ; 
    X6 * = 2 ; Y6 * = 2 ; 
    解決する(); 
    リターン 0 ;    
}

 

おすすめ

転載: www.cnblogs.com/tombraider-shadow/p/11567608.html