題目描述
為了準備乙個獨特的頒獎典禮,組織者在會場的一片矩形區域(可看做是平面直角座標系的第一象限)鋪上一些矩形地毯。一共有
nn n 張地毯,編號從
1 到 n。現在將這些地毯按照編號從小到大的順序平行於座標軸先後鋪設,後鋪的地毯覆蓋在前面已經鋪好的地毯之上。
地毯鋪設完成後,組織者想知道覆蓋地面某個點的最上面的那張地毯的編號。注意:在矩形地毯邊界和四個頂點上的點也算被地毯覆蓋。
輸入輸出格式
輸入格式:
輸入共
n+2 行
第一行,乙個整數
n,表示總共有
n張地毯
接下來的
n 行中,第
i+1 行表示編號
i 的地毯的資訊,包含四個正整數
a,b,g,k ,每兩個整數之間用乙個空格隔開,分別表示鋪設地毯的左下角的座標
(a,b) 以及地毯在 x 軸和 y 軸方向的長度
第 n+2 行包含兩個正整數
x和 y ,表示所求的地面的點的座標(x,y)
輸出格式:
輸出共
1 行,乙個整數,表示所求的地毯的編號;若此處沒有被地毯覆蓋則輸出
−1輸入輸出樣例
輸入樣例#1:
3 1 0 2 3
0 2 3 3
2 1 3 3
2 2
輸出樣例#1:
3輸入樣例#2:
3 1 0 2 3
0 2 3 3
2 1 3 3
4 5
輸出樣例#2:
-1 說明
【樣例解釋1】
如下圖,
1號地毯用實線表示,
2號地毯用虛線表示,
3號用雙實線表示,覆蓋點 (2,2) 的最上面一張地毯是3 號地毯。
【資料範圍】
對於30% 的資料,有
n≤2
對於50% 的資料,
0≤a,b,g,k≤100
對於100%的資料,有
0≤n≤10,000
0≤a,b,g,k≤100,000 。
noip2011提高組day1第1題
這道題看完就想到直接模擬,
用tan來記錄每個毯子的資料
#include
using
namespace
std;
struct nodetan[10005];
int main()
int mx,my;
cin>>mx>>my;
int flag=0;
for(int i=1;i<=n;i++)
}if(flag!=0)tan[10005];
int main()
int mx,my;
cin>>mx>>my;
for(int i=n;i>=1;i--)
}cout
<<"-1"
0;}
2023年noipc 提高組複賽 第三題
先理解題目可以把這題目抽象為 把一些點放入兩個集合中,使每個集合中的點與點的敵對關係的最大值最小 儲存關係可以想到用並查集 然後根據貪心思想從關係最大的開始,這樣能使集合中的敵對關係的最大值最小 將有敵對關係的點放到不同的集合裡。從大到小進行決策直到發現有某一組組合已經在同乙個監獄裡,那麼輸出他們的...
2023年NOIP普及組複賽題解
題目涉及演算法 這道題目是一道基礎的模擬題,只需要模擬將數字進行翻轉就可以了,注意 0 和 負數。實現 如下 include using namespace std void solve int num if num 0 int t 0 while num 0 cout t endl int n i...
洛谷 鋪地毯 NOIP2011提高組複賽
為了準備乙個獨特的頒獎典禮,組織者在會場的一片矩形區域 可看做是平面直角座標系的第一象限 鋪上一些矩形地毯。一共有 n 張地毯,編號從 1 到n 現在將這些地毯按照編號從小到大的順序平行於座標軸先後鋪設,後鋪的地毯覆蓋在前面已經鋪好的地毯之上。地毯鋪設完成後,組織者想知道覆蓋地面某個點的最上面的那張...