2014年首届CCF软件能力认证试题第二题 .
来源:互联网 发布:rsa512算法安全不 编辑:程序博客网 时间:2024/05/16 04:12
题目 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”(不含双引号)。
#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[N].x1>>tra[N].y1>>tra[N].x2>>tra[N].y2; tra[N].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;}
0 0
- 2014年首届CCF软件能力认证试题第二题
- 2014年首届CCF软件能力认证试题第二题 .
- 2014年首届CCF软件能力认证试题第一题
- 2014年首届CCF软件能力认证试题第三题
- 2014年首届CCF软件能力认证试题第一题 .
- 2014年首届CCF软件能力认证试题第三题 .
- 2014年首届CCF软件能力认证试题 题目二
- 首届CCF软件能力认证试题第二题详解(窗口)
- 首届CCF软件能力认证试题题目2:窗口(答案+代码)
- CCF软件能力认证考试模拟题 ISBN号码
- CCF计算机软件能力认证模拟试题
- CCF软件能力认证201604俄罗斯方块
- CCF软件能力认证上机考试指导书
- 2014第二届ccf认证试题 题目 3 字符串匹配
- 2015年3月CCF计算机软件能力认证题:节日
- 2016年4月CCF计算机软件能力认证模拟试题代码参考
- CCF计算机软件能力认证模拟试题(c/c++)
- CCF计算机软件能力认证模拟试题(c/c++)
- linux中mmap系统调用原理分析与实现
- HDU 5802 Windows 10(贪心+dfs)
- ionic cordova 报错
- C++ string
- Java中的可变长参数
- 2014年首届CCF软件能力认证试题第二题 .
- asp.net的mvc开发标签的使用
- 通过apk安装包获取sha1的值
- 设置导航栏透明
- 获取视频帧的方法 注意 是在视频录制结束后获取
- Ubuntu Pcl安装
- Android开发的小细节
- matlab 生成调用c/c++ 代码 mex 简单实用
- C#之方法传递结构和类之间的区别学习案例