201403-2
問題描述
在某圖形作業系統中,有 n 個視窗,每個視窗都是乙個兩邊與座標軸分別平行的矩形區域。視窗的邊界上的點也屬於該視窗。視窗之間有層次的區別,在多於乙個視窗重疊的區域裡,只會顯示位於頂層的視窗裡的內容。
當你點選螢幕上乙個點的時候,你就選擇了處於被點選位置的最頂層視窗,並且這個視窗就會被移到所有視窗的最頂層,而剩餘的視窗的層次順序不變。如果你點選的位置不屬於任何視窗,則系統會忽略你這次點選。 現在我們希望你寫乙個程式模擬點選視窗的過程。
輸入格式
輸入的第一行有兩個正整數,即 n 和 m。(1 ≤ n ≤ 10,1 ≤ m ≤ 10)
接下來 n 行按照從最下層到最頂層的順序給出 n 個視窗的位置。 每行包含四個非負整數 x1, y1, x2, y2,表示該視窗的一對頂點座標分別為 (x1, y1) 和 (x2, y2)。保證 x1
< x2,y1 2。
接下來 m 行每行包含兩個非負整數 x, y,表示一次滑鼠點選的座標。
題目中涉及到的所有點和矩形的頂點的 x, y 座標分別不超過 2559 和 1439。
輸出格式
輸出包括 m 行,每一行表示一次滑鼠點選的結果。如果該次滑鼠點選選擇了乙個視窗,則輸出這個視窗的編號(視窗按照輸入中的順序從 1 編號到 n);如果沒有,則輸出"ignored"(不含雙引號)。
樣例輸入
3 40 0 4 4
1 1 5 5
2 2 6 6
1 10 0
4 40 5
樣例輸出21
1ignored
樣例說明
第一次點選的位置同時屬於第 1 和第 2 個視窗,但是由於第 2 個視窗在上面,它被選擇並且被置於頂層。
第二次點選的位置只屬於第 1 個視窗,因此該次點選選擇了此視窗並將其置於頂層。現在的三個視窗的層次關係與初始狀態恰好相反了。
第三次點選的位置同時屬於三個視窗的範圍,但是由於現在第 1 個視窗處於頂層,它被選擇。
最後點選的 (0, 5) 不屬於任何視窗。
源**:
#include
#include
using namespace std;
struct rec
a[11];
int main()
for(i=0;i>x>>y;
sort(a,a+n,cmp);
f=0;
for(j=0;j=a[j].x1&&x<=a[j].x2&&y>=a[j].y1&&y<=a[j].y2)
CCF模擬題 視窗
視窗 時間限制 1.0s 記憶體限制 256.0mb 問題描述 在某圖形作業系統中,有 n 個視窗,每個視窗都是乙個兩邊與座標軸分別平行的矩形區域。視窗的邊界上的點也屬於該視窗。視窗之間有層次的區別,在多於乙個視窗重疊的區域裡,只會顯示位於頂層的視窗裡的內容。當你點選螢幕上乙個點的時候,你就選擇了處...
CCF 真題 門禁系統
試題編號 201412 1 試題名稱 門禁系統 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 濤濤最近要負責圖書館的管理工作,需要記錄下每天讀者的到訪情況。每位讀者有乙個編號,每條記錄用讀者的編號來表示。給出讀者的來訪記錄,請問每一條記錄中的讀者是第幾次出現。輸入格式 輸入的第...
CCF真題 ISBN號碼 題解
問題描述 每一本正式出版的圖書都有乙個isbn號碼與之對應,isbn碼包括9位數字 1位識別碼和3位分隔符,其規定格式如 x xx x 其中符號 是分隔符 鍵盤上的減號 最後一位是識別碼,例如0 670 82162 4就是乙個標準的isbn碼。isbn碼的首位數字表示書籍的出版語言,例如0代表英語 ...