CCF2014032視窗(C語言)

2022-08-26 23:12:20 字數 1353 閱讀 7731

問題描述

在某圖形作業系統中,有 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 個視窗處於頂層,它被選擇。

1 #include 2 #include 34

struct node;

10struct node ck[32

];11

int a[32];//

存放視窗的順序

1213

intmain()

2324

for(i = 1 ; i <= m ; i ++)

2528

29for(i = 1 ; i <= m ; i ++)

30 45}

46if(!flag) puts("

ignored");

47}48return0;

49 }

CCF 遊戲 C語言 201712 2

我用a i 中不為0的數代表小朋友,且沒被淘汰。若被淘汰則該編號的小朋友a i 0。用b i 儲存所報編號,用v來賦值 相結合 步驟 1.先賦初值 2.用淘汰條件篩選一下 3.判斷是否結束,輸出獲勝者 4.注意k 1的情況 5.如果所有人都符合淘汰條件,最後一人就是獲勝者 有n個小朋友圍成一圈玩遊戲...

CCF 賣菜 C語言 201809 1

在一條街上有n個賣菜的商店,按1至n的順序排成一排,這些商店都賣一種蔬菜。第一天,每個商店都自己定了乙個 店主們希望自己的菜價和其他商店的一致,第二天,每一家商店都會根據他自己和相鄰商店的 調整自己的 具體的,每家商店都會將第二天的菜價設定為自己和相鄰商店第一天菜價的平均值 用去尾法取整 注意,編號...

CCF 中間數(C語言)

問題描述 在乙個整數序列a1,a2,an中,如果存在某個數,大於它的整數數量等於小於它的整數數量,則稱其為中間數。在乙個序列中,可能存在多個下標不相同的中間數,這些中間數的值是相同的。給定乙個整數序列,請找出這個整數序列的中間數的值。輸入格式 輸入的第一行包含了乙個整數n,表示整數序列中數的個數。第...