目录
题目
思路
我们在这里可以巧妙运用二维数组去解决问题,用行去储存一个窗口的所有信息,窗口编号 x1 y1 x2 y2五个数据,后面用swap()直接交换两行数据代码
代码
#include<iostream>
#include<algorithm>
using namespace std;
int a[100][100];//定义全局变量
int main()
{
int flat,x1,y1,x2,y2,n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>x1>>y1>>x2>>y2;
a[i][0]=i,a[i][1]=x1,a[i][2]=y1,a[i][3]=x2,a[i][4]=y2;//将窗口参数以及窗口编号按行存入二维数组
}
for(int i=1;i<=m;i++)
{
flat=1;
cin>>x1>>y1;
for(int j=n;j>=1;j--) //从窗口顶层往下遍历
{
if(x1>=a[j][1]&&x1<=a[j][3]&&y1>=a[j][2]&&y1<=a[j][4])
{
flat=0;
cout<<a[j][0]<<endl;//如果在范围内,输出窗口编号
swap(a[j],a[n]);//交换窗口信息
}
if(!flat) break;
}
if(flat) cout<<"IGNORED"<<endl;
}
return 0;
}
🥂(❁´◡`❁)您的点赞➕评论➕收藏⭐是作者创作的最大动力🤞