CCF真題之視窗

2022-06-27 03:27:10 字數 1268 閱讀 8940

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代表英語 ...