2014年首届CCF软件能力认证试题第二题 .
2016-08-30 16:22
357 查看
题目 2 窗口
时间限制: 1 秒
空间限制: 256 MB
问题描述
在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴
分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次
的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内
容。
当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层
窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次
顺序不变。如果你点击的位置不属于任何窗口,则系统会忽略你这次点击。
现在我们希望你写一个程序模拟点击窗口的过程。
输入格式
输入的第一行有两个正整数,即 N 和 M。(1 ≤ N ≤ 10,1 ≤ M ≤ 10)
接下来 N 行按照从最下层到最顶层的顺序给出 N 个窗口的位置。
每行包含四个非负整数 x1, y1, x2, y2,表示该窗口的一对顶点坐标分别为
(x1, y1) 和 (x2, y2)。保证 x1 < x2,y1 < y2。
接下来 M 行每行包含两个非负整数 x, y,表示一次鼠标点击的坐标。
题目中涉及到的所有点和矩形的顶点的 x, y 坐标分别不超过 2559 和
1439。
输出格式
输出包括 M 行,每一行表示一次鼠标点击的结果。如果该次鼠标点击
选择了一个窗口,则输出这个窗口的编号(窗口按照输入中的顺序从 1 编
号到 N);如果没有,则输出”IGNORED”(不含双引号)。
时间限制: 1 秒
空间限制: 256 MB
问题描述
在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴
分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次
的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内
容。
当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层
窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次
顺序不变。如果你点击的位置不属于任何窗口,则系统会忽略你这次点击。
现在我们希望你写一个程序模拟点击窗口的过程。
输入格式
输入的第一行有两个正整数,即 N 和 M。(1 ≤ N ≤ 10,1 ≤ M ≤ 10)
接下来 N 行按照从最下层到最顶层的顺序给出 N 个窗口的位置。
每行包含四个非负整数 x1, y1, x2, y2,表示该窗口的一对顶点坐标分别为
(x1, y1) 和 (x2, y2)。保证 x1 < x2,y1 < y2。
接下来 M 行每行包含两个非负整数 x, y,表示一次鼠标点击的坐标。
题目中涉及到的所有点和矩形的顶点的 x, y 坐标分别不超过 2559 和
1439。
输出格式
输出包括 M 行,每一行表示一次鼠标点击的结果。如果该次鼠标点击
选择了一个窗口,则输出这个窗口的编号(窗口按照输入中的顺序从 1 编
号到 N);如果没有,则输出”IGNORED”(不含双引号)。
#include<stdio.h> #include<iostream> using namespace std; struct tras{ int x1; int x2; int y1; int y2; int level; }; int main() { int n,m,a,b,c; int N,M; cin>>N>>M; n=N,m=M; tras tra[11]; int ans[11]; tras temp; a=1; while(N) { cin>>tra .x1>>tra .y1>>tra .x2>>tra .y2; tra .level=a; N--; a++; } while(M) { cin>>b>>c; bool flag=false; for(int i=N;i>0;i--) { if(b>=tra[i].x1&&b<=tra[i].x2&&c>=tra[i].y1&&c<=tra[i].y2) { ans[M]=tra[i].level; temp=tra[i]; for(int j=N;j>=2;j--) { tra[j]=tra[j-1]; } tra[1]=temp; flag=true; } if(flag==true) break; } if(!flag) ans[M]=0; M--; } for(int i=m;i>0;i--) { if(ans[i]!=0) cout<<ans[i]; else cout<<"IGNORED"; if(i!=1) cout<<" "; } cout<<endl; return 0; }
相关文章推荐
- 2014年首届CCF软件能力认证试题第二题
- 2014年首届CCF软件能力认证试题第一题
- 2014年首届CCF软件能力认证试题 题目二
- 2014年首届CCF软件能力认证试题第三题
- 2014年首届CCF软件能力认证试题第一题 .
- 2014年首届CCF软件能力认证试题 题目一
- 2014年首届CCF软件能力认证试题 题目二
- 首届CCF软件能力认证试题第二题详解(窗口)
- 2014年首届CCF软件能力认证试题第三题 .
- 首届CCF软件能力认证试题题目2:窗口(答案+代码)
- CCF计算机软件能力认证试题练习201312-2-ISBN号码
- CCF计算机软件能力认证试题练习-日期计算(Java参考答案学习记录)
- CCF计算机软件能力认证试题练习-图像旋转(Java参考答案学习记录)
- 2016年4月CCF计算机软件能力认证模拟试题代码参考
- 201604-1折点计数——CCF计算机软件能力认证试题历届真题
- CCF计算机软件能力认证试题练习-门禁系统(Java参考答案学习记录)
- 201512-1数位之和——CCF计算机软件能力认证试题历届真题
- CCF计算机软件能力认证试题练习201312-4-有趣的数
- CCF计算机软件能力认证模拟试题-出现次数最多的数(Java参考答案学习记录)
- CCF计算机软件能力认证试题练习-数位之和(Java参考答案学习记录)