2020寒假 gmoj2380 白板

2021-10-02 13:25:05 字數 1747 閱讀 1792

pywbktda有一塊白板,這塊白板的四條邊分別平行於座標軸。我們可以假設這塊白板的左

下角在(x 1 ,y 1 )位置,右上角在(x 2 ,y 2 )位置。

現在有兩塊黑板放到白板的上面,這兩塊黑板的四條邊也是平行於座標軸的。我們可以設第1塊

黑板的左下角是(x 3 ,y 3 ),右上角在(x 4 ,y 4 )位置, 第2塊黑板的左下角是(x 5 ,y 5 ),右上角在(x 6 ,y 6 )位置。

現在你的任務是來判斷,我們從上往下看,是否有白板的部分區域可以被看到。所謂的白板部分

區域被看到的意思是,白板上至少有乙個點沒有被黑板遮住。

輸入第一行有乙個整數t,表示資料的組數。

接下來每組資料:

輸入的第一行包含4個整數,分別表示x 1 ,y 1 ,x 2 ,y 2 ,即白板的左下角和右上角。

輸入的第二行包含4個整數,分別表示x 3 ,y 3 ,x 4 ,y 4 ,即第1塊黑板的左下角和右上角。

輸入的第三行包含4個整數,分別表示x 5 ,y 5 ,x 6 ,y 6 ,即第2塊黑板的左下角和右上角。

32 2 4 4

1 1 3 5

3 1 5 5

3 3 7 5

0 0 4 6

0 0 7 4

5 2 10 5

3 1 7 6

8 1 11 7

輸出有t行,對於每組資料,如果有部分白板可以被看到,就輸出y es,否則就輸出no。

noyes

yes我一開始不知道如何下手

其實這只有4種能全部把白板蓋住的情況,只要排除,其他都不行:

第一塊板全蓋住

第二塊板全蓋住

兩塊板左右蓋

兩塊板上下蓋

我們根據行列的互相遮擋關係判斷一下就完了。

#include

#include

using

namespace std;

int t,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,f=0;

intmain()

if(x5<=x1&&y5<=y1&&x6>=x2&&y6>=y2)

//2quanif(

(x4>=x2&&x6>=x2)

&&(x3<=x1&&x5<=x1)

&&(y3<=y1&&y6>=y2)

&&(y4>=y5))if

((x4>=x2&&x6>=x2)

&&(x3<=x1&&x5<=x1)

&&(y5<=y1&&y4>=y2)

&&(y6>=y3))if

((y3<=y1&&y5<=y1)

&&(y6>=y2&&y4>=y2)

&&(x6>=x2&&x3<=x1)

&&(x4>=x5)

)//2shangif(

(y3<=y1&&y5<=y1)

&&(y6>=y2&&y4>=y2)

&&(x4>=x2&&x5<=x1)

&&(x6>=x3)

)//1shang

if(f==

0) cout<<

"yes"

<

}fclose

(stdin);

fclose

(stdout);

return0;

}

2020寒假 gmoj1876 約會

農場主約翰養了兩群有世仇的牛,它們被稱為蒙塔戈斯家族和卡普魯特家族。蒙塔戈斯家族的成員,羅密歐,愛上了美麗的朱麗葉,但後者正好是卡普魯特家族的成員。羅密歐希望與朱麗葉約會,但不希望卡普魯特家族的其他成員發現 否則會有可怕的事情發生!羅密歐和朱麗葉希望在牧場柵欄邊一塊盡可能大的區域中相見,這樣他們可以...

2020寒假 gmoj2379 怪獸 模擬

pywbktda最近正在打怪獸,乙個斯拉夫神話中的兇猛怪獸,乙個有著多個頭的巨大龍狀爬行 動物。開始的時候,怪獸有x個頭,你有n種打擊方式。如果你選擇第i種打擊方式,這個神奇的怪獸會減 少min d i cur 個頭。這裡cur表示當前怪獸擁有的頭的數量。但是如果怪獸被打擊以後還至少留下 了乙個頭,...

2020寒假 gmoj2090 最大值

給定n個數,x1,x2,xn 要求從中選出至少乙個數,至多n個數,使得乘積之和最大。第一行整數n,表示有多少個數 接下來n行,每行乙個整數xi,10 xi 10 輸出一行,表示最大乘積 sample input1 3 1 2 4sample input2 33 2 4sample output1 s...