麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

201403-2

2019-11-14 09:30:07
字體:
供稿:網(wǎng)友
問題描述

試題編號:201403-2
試題名稱:窗口
時間限制:1.0s
內(nèi)存限制:256.0MB
問題描述:問題描述  在某圖形操作系統(tǒng)中,有 N 個窗口,每個窗口都是一個兩邊與坐標(biāo)軸分別平行的矩形區(qū)域。窗口的邊界上的點也屬于該窗口。窗口之間有層次的區(qū)別,在多于一個窗口重疊的區(qū)域里,只會顯示位于頂層的窗口里的內(nèi)容?! ‘?dāng)你點擊屏幕上一個點的時候,你就選擇了處于被點擊位置的最頂層窗口,并且這個窗口就會被移到所有窗口的最頂層,而剩余的窗口的層次順序不變。如果你點擊的位置不屬于任何窗口,則系統(tǒng)會忽略你這次點擊?! ‖F(xiàn)在我們希望你寫一個程序模擬點擊窗口的過程。輸入格式  輸入的第一行有兩個正整數(shù),即 N 和 M。(1 ≤ N ≤ 10,1 ≤ M ≤ 10)  接下來 N 行按照從最下層到最頂層的順序給出 N 個窗口的位置。 每行包含四個非負整數(shù) x1, y1, x2, y2,表示該窗口的一對頂點坐標(biāo)分別為 (x1, y1) 和 (x2, y2)。保證 x1 < x2,y1 2?! 〗酉聛?M 行每行包含兩個非負整數(shù) x, y,表示一次鼠標(biāo)點擊的坐標(biāo)。  題目中涉及到的所有點和矩形的頂點的 x, y 坐標(biāo)分別不超過 2559 和  1439。輸出格式  輸出包括 M 行,每一行表示一次鼠標(biāo)點擊的結(jié)果。如果該次鼠標(biāo)點擊選擇了一個窗口,則輸出這個窗口的編號(窗口按照輸入中的順序從 1 編號到 N);如果沒有,則輸出"IGNORED"(不含雙引號)。樣例輸入3 40 0 4 41 1 5 52 2 6 61 10 04 40 5樣例輸出211IGNORED樣例說明  第一次點擊的位置同時屬于第 1 和第 2 個窗口,但是由于第 2 個窗口在上面,它被選擇并且被置于頂層?! 〉诙吸c擊的位置只屬于第 1 個窗口,因此該次點擊選擇了此窗口并將其置于頂層?,F(xiàn)在的三個窗口的層次關(guān)系與初始狀態(tài)恰好相反了?! 〉谌吸c擊的位置同時屬于三個窗口的范圍,但是由于現(xiàn)在第 1 個窗口處于頂層,它被選擇?! ∽詈簏c擊的 (0, 5) 不屬于任何窗口。
問題分析:

問題的關(guān)鍵是創(chuàng)建窗口的結(jié)構(gòu)體后怎么表示窗口的順序。這里是用一個數(shù)組來表示窗口的順序,對應(yīng)的數(shù)組的值為窗口的編號。數(shù)組的下標(biāo)越小,對應(yīng)的編號窗口越靠前。

代碼:

#include <iostream>using namespace std;/* run this PRogram using the console pauser or add your own getch, system("pause") or input loop */int n,m;  //n個窗口 m個點擊事件 struct window{int winfo; //窗口的編號 int x1,y1,x2,y2;};struct click{int x,y;};window w[12];click c[11];int order[11]; //紀錄窗口順序的數(shù)組 string ans[11];int length=0; int main(int argc, char *argv[]) {while(cin>>n>>m){//輸入n個窗口   for(int i=1;i<=n;i++){int tx1,ty1,tx2,ty2;cin>>tx1>>ty1>>tx2>>ty2;w[i].x1=tx1;w[i].y1=ty1;w[i].x2=tx2;w[i].y2=ty2;w[i].winfo =i;}//初始化窗口順序的數(shù)組orderfor(int i=0;i<n;i++){order[i]=n-i;  //order[i]的值為對應(yīng)窗口的編號 i越小對應(yīng)窗口的越靠前 //i == 0 窗口編號 2  既2號窗口在最前 } //輸入m個鼠標(biāo)點擊次數(shù)for(int i=0;i<m;i++){int tx,ty;cin>>tx>>ty;c[i].x=tx;c[i].y=ty;}//判斷m次點擊事件for(int i=0;i<m;i++){int winio=-1;//從窗口最上層開始判斷 int j;for(j=0;j<n;j++){ int temp_w=order[j];  //獲得當(dāng)前最靠上的窗口的編號  if((c[i].x <= w[temp_w].x2 && c[i].x >= w[temp_w].x1) &&  (c[i].y <= w[temp_w].y2 && c[i].y >= w[temp_w].y1)) {//i次點擊到了這個窗口 //1.紀錄其窗口號 winio=temp_w;//cout<<temp_w<<endl;//2.將此窗口移動到最前 for(int p=j;p>0;p--) //要從后開始移動 保證前面的數(shù)據(jù)不被覆蓋 {order[p]=order[p-1];}order[0]=temp_w;break;  }else{//i次點擊沒有點到此窗口 判斷下一個窗口 } }if(winio == -1){cout<<"IGNORED"<<endl;}else{cout<<winio<<endl;}}}return 0;}注意:在移動數(shù)組時,需要從被替代的位置開始移動,防止有效信息被覆蓋。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 九九热免费在线观看 | 视频一区二区三区中文字幕 | 欧美一级淫片免费播放口 | 视频在线色 | 草妞视频 | 成人在线视频免费播放 | 欧美日韩免费一区 | 中文字幕涩涩久久乱小说 | 欧美一级毛片大片免费播放 | 免费观看一级黄色片 | 黑人一区二区三区四区五区 | 亚洲自拍第一 | 色就操 | 麻豆小视频在线观看 | 中文字幕在线免费观看电影 | 美女黄污视频 | 国产精品一区在线观看 | 免费看污视频在线观看 | 国产精品自在线拍 | 黄色一级片免费在线观看 | 综合网日日天干夜夜久久 | 老子午夜影院 | 性盈盈盈影院 | 亚洲国产精品二区 | 免费在线观看中文字幕 | 国产免费小视频在线观看 | 日本网站在线看 | 色就色 综合偷拍区91网 | 中文字幕一区二区三区四区 | 欧美18—19sex性护士中国 | 亚洲导航深夜福利涩涩屋 | 久久精品小短片 | 精品国产一区二区亚洲人成毛片 | 久久欧美亚洲另类专区91大神 | 日本精品视频一区二区三区四区 | 免费一级片观看 | 91久久夜色精品国产网站 | 成人免费福利视频 | 欧美成人高清视频 | 久久99精品久久久久久秒播蜜臀 | www.精品在线 |