代码编织梦想

题目

问题描述
  在某图形操作系统中,有 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 4
0 0 4 4
1 1 5 5
2 2 6 6
1 1
0 0
4 4
0 5

样例输出

2
1
1
IGNORED

样例说明
  第一次点击的位置同时属于第 1 和第 2 个窗口,但是由于第 2 个窗口在上面,它被选择并且被置于顶层。
  第二次点击的位置只属于第 1 个窗口,因此该次点击选择了此窗口并将其置于顶层。现在的三个窗口的层次关系与初始状态恰好相反了。
  第三次点击的位置同时属于三个窗口的范围,但是由于现在第 1 个窗口处于顶层,它被选择。
  最后点击的 (0, 5) 不属于任何窗口。

思路:利用结构体

#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std; 

struct Rectangle{
	int x1;
	int y1;
	int x2;
	int y2;
	//优先级 ,越大越优先 
	int priority;
	int id;
};
 
// 将优先级大的排后面 
bool cmp(Rectangle r1,Rectangle r2){
	return r1.priority<r2.priority;
}

int main(){
	// n窗口位置,m点击次数 
	int n,m;
	cin>>n>>m;
	Rectangle r[n];
	for(int i=0;i<n;i++){
		cin>>r[i].x1>>r[i].y1>>r[i].x2>>r[i].y2;
		r[i].priority=i;
		r[i].id=i+1;
	}
	int x,y;
	//是否找到 
	bool flag;
	for(int i=0;i<m;i++){
		cin>>x>>y;
		flag=false;
		//从优先级大的开始遍历 
		for(int j=n-1;j>=0;j--){
			if(x>=r[j].x1&&x<=r[j].x2&&y>=r[j].y1&&y<=r[j].y2){
				cout<<r[j].id<<endl;
				r[j].priority=n-1;
				flag=true;
				break;
			}else{
				r[j].priority--;
			}
		}
		if(!flag) cout<<"IGNORED"<<endl;
		sort(r,r+n,cmp);
	}
	return 0;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qwertyuikm/article/details/126983232

ccf —— csp认证_轱辘不方的博客-爱代码爱编程_csp认证

1.认证知识要求:      考试内容主要覆盖大学计算机专业所学习的程序设计、数据结构以及算法,以及相关的数学基础知识。包括但不限于:   (1)程序设计基础   逻辑与数学运算,分支循环,过程调用(递归),字符串操作,文件操作等。   (2)数据结构   线性表(数组、队列、栈、链表)、树(堆、排序二叉树)、哈希表、集合与

ccf csp入门_煮雪品茶的博客-爱代码爱编程

作为一个博客小白,我准备学习学习别人的经验,以此博客鼓励自己每天学习进步。 ccf  csp注意事项: 认证方法: 认证考试全部采用上机编程方式,编程语言允许使用C/C++或Java。考核为黑盒测试,以通过测试用例判断程序是否能够输出正确结果来进行评分。考试时间为240分钟。 认证知识要求 考试内容主要覆盖大学计算机专业所学习的程序设计、数据结构

ccf-csp考试介绍以及复习技巧指导_497023067的博客-爱代码爱编程_csp考试

CCF-CSP考试时间及费用 时间一般是每年3、9、12月的中旬,报名时间一般也是提前一个月,不固定。 非计算机协会会员300元/次,会员180元/次(学生会员需缴纳50元/年的会费),相当于一年可以打三次折。 编程语言及编译器 C/C++:Dev-CPP 5.4.0 (Min GW 4.7.2)Java:Eclipse (Java SDK 1

ccf csp入坑指南 (含难度分析 试题目录及答案 部分答案有解析更新至201912 包含全部前四道题解及小部分第五题解)_best335的博客-爱代码爱编程_ccf csp难度

文章目录 CCF 难度分析CCF历届真题集合(编程语言:C++)CCF入坑建议及电子书推荐CCF之外的OJ网络评测平台关于博主 CCF 难度分析 CCF主页:点此进入 CCF简介及评测大纲:点此进入,每年3、

ccf-csp刷题网站推荐(含100分答案)-爱代码爱编程

CCF刷题网站(100分答案): C/C++: https://blog.csdn.net/tigerisland45/article/details/54755895 https://blog.csdn.net/rich

ccf-csp 201403-2 窗口【水题】(100分)-爱代码爱编程

试题编号: 201403-2 试题名称: 窗口 时间限制: 1.0s 内存限制: 256.0MB 问题描述    在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗

CCF CSP 中国计算机学会-CCF计算机软件能力认证(计算机水平测试)-简介-详情-爱代码爱编程

CCF >>简介 中国计算机学会(英文名为China Computer Federation,简称CCF),是由从事计算机及相关科学技术领域的科研、教育、开发、生产、管理、应用和服务的个人及单位自愿结成、依法登记成立的全国性、学术性、非营利学术团体,是中国科学技术学会成员。 学会前身是成立于1962年的中国电子学会计算机专业委员会,196

CCF-CSP 2014-3前三道题-爱代码爱编程

1、相反数 问题描述   有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。 输入格式   第一行包含一个正整数 N。(1 ≤ N ≤ 500)。   第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。 输出格式   只输出一个整数,即这 N 个数中包含多少对

有关CCF的CSP认证-爱代码爱编程

有关CCF的CSP认证 一、CSP认证考点的知识要求 在数据结构中,线性表是基础,树是常考点,集合和映射要夕纪学。 背包问题(动态规划) 考试要求二、考试题型 第一题:一般为水题,把C学扎实便可以过 第二题:难度比第一题大,比较多陷阱 第三题:题目很长但是思维难度不会比第二题大 第四题、第五题:难度大,变态题 三、知识点分布 1、字符串 对于字符串

CCFCSP历年认证考试真题解答汇总(已解决19道,持续更新ing)-爱代码爱编程

以下为本人CCFCSP刷题记录,希望可以帮助到每一位想在这方面得到提升的码友们,也请各位对我写的不好的地方进行指正,大家一起进步。 说明:题目链接一栏可以直接进入到题目界面,试题名称一栏可以直接进入相应题解 在点击题目链接之前,请先登录CCFCSP认证官网,登录之后再点击题目链接就可以看见题目并且提交作答了 2020年12月CCFCSP认证 试题编

CCF CSP认证-爱代码爱编程

❤️CCF CSP认证 (cspro.org)❤️ 1.主办单位 中国计算机学会 (ccf.org.cn)——中国计算机领域十分权威、影响力很大的专业组织。 2.认证目的 重点考察软件开发者的算法设计和编程能力,向企业和高校推荐合格的软件人才。 3.认证内容 主要覆盖大学计算机及软件相关专业所学习程序设计、数据结构、算法,以及相关数学基础知识。

CCF-CSP认证题解-爱代码爱编程

算法设计老师作业要求,看看能补多少补多少吧 我去年入围选拔赛坐校车去南海校区第一次参加csp 100+70+70=240 计院第一 全校第四,拿了300块奖金 那一场是第23次,排名5% 第25次CCF-CSP认证题解 第一题 未初始化警告 #include<bits/stdc++.h> using namespace std;

ccf-csp 201909-4 推荐系统 100分_自信的小螺丝钉的博客-爱代码爱编程

原题链接:CCF-CSP 201909-4 推荐系统 超时20分的代码实用vector存放结构体,然后写了一个cmp结构体排序的函数,所有的结点都存在vector数组中。 满分代码改为用优先队列存储结构体,直接在结构体内排序。 两种方法对于的查询逻辑都是一样的。 自认为这个代码的优点是:1.使用优先队列存储结构体 2.对于删除操作,并没有选择查

csp-j组2022年初赛考试题目_cool kid~yu仙笙的博客-爱代码爱编程

作者:Yu仙笙真滴卷😎 专栏:CSP-J初赛真题🏀 目录 考生注意事项: 一、单项选择题(共 15 题,每题 2 分,共计 30 分;每题有且仅有一个正确选项) 二、阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填√,错误填×;除特 殊说明外,判断题 1.5 分,选择题 3 分,共计 4

ccf-爱代码爱编程

这次csp是100+100+100+100+95的构成,第三题就是一个相对于这次几次模拟题来说简单很多的模拟,写的时候多加小心就能拿满,最后一题疫苗运输网上的满分答案是迪杰斯特拉+扩展欧几里得,我这里用了bfs+扩展欧几里得(其实就是变相的spfa),因此时间上慢了一点最后一个数据没过,但代码思路更简单一点,下面放代码 1.灰度直方图 #inc