bzoj3715 [PA2014]Lustra
生活随笔
收集整理的這篇文章主要介紹了
bzoj3715 [PA2014]Lustra
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
Description
Byteasar公司專門外包生產帶有鏡子的衣柜。
剛剛舉行的招標會上,有n個工廠參加競標。所有鏡子都是長方形的,每個工廠能夠制造的鏡子都有其各自的最大、最小寬度和最大、最小高度。鏡子不可以旋轉。
如果存在某家工廠滿足這樣的條件:其他所有工廠能夠制造的鏡子,它都能夠制造。那么這家工廠顯然會勝出。若不存在,評判工作將會遇到麻煩。Byteasar想知道,是否存在某家工廠符合上述條件。
Input
第一行有一個整數t(1<=t<=10),表示測試數據數量。
對于每一組測試數據,第一行有一個整數n(2<=n<=100000)。接下來n行,每行有四個整數w1,w2,h1,h2(1<=w1<=w2<=10^9,1<=h1<=h2<=10^9),表示這家工廠能夠制造的鏡子的寬度w、高度h需要滿足w1<=w<=w2,h1<=h<=h2。
Output
輸出共有t行,每行為TAK(是)或NIE(否),表示是否存在某家工廠符合條件。
Sample Input
33
2 3 3 5
1 4 2 6
1 3 4 6
3
1 5 1 3
2 4 1 3
3 4 2 5
4
1 2 1 10
1 2 3 8
2 2 7 10
1 2 1 10
Sample Output
TAKNIE
TAK
?
sb題
模擬就完了
#include<cstdio> #define N 100010 #define inf 0x7fffffff int T; int x1[N],x2[N],y1[N],y2[N]; int xmn,xmx,ymn,ymx; inline int read() {int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f; } int main() {scanf("%d",&T);while (T--){int n=read();xmn=ymn=inf;xmx=ymx=0;for (int i=1;i<=n;i++){x1[i]=read();x2[i]=read();y1[i]=read();y2[i]=read();if (x1[i]<xmn)xmn=x1[i];if (y1[i]<ymn)ymn=y1[i];if (x2[i]>xmx)xmx=x2[i];if (y2[i]>ymx)ymx=y2[i];}bool mrk=0;for (int i=1;i<=n;i++){if (x1[i]<=xmn&&y1[i]<=ymn&&x2[i]>=xmx&&y2[i]>=ymx){mrk=1;break;}}if (mrk)printf("TAK\n");else printf("NIE\n");} }
轉載于:https://www.cnblogs.com/zhber/p/4035992.html
總結
以上是生活随笔為你收集整理的bzoj3715 [PA2014]Lustra的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 页面间传递参数
- 下一篇: one-to-one