颁奖典礼·题解
2023-08-22 20:01:43
发布于:浙江
7阅读
0回复
0点赞
思路:
铺地毯,后铺的地毯在先铺的上面,地毯的四条边四个角也算地毯的范围。
先存入地毯信息,在从先铺的地毯开始遍历,只要所求的坐标在范围内就将答案设置为i+1,后铺的必然在后面。
代码:
#include<bits/stdc++.h>
using namespace std;
int dt[10001][4],n,xx,yy,xx2,yy2,cnt;
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>xx>>yy>>xx2>>yy2;
dt[i][0]=xx,dt[i][1]=xx+xx2,dt[i][2]=yy,dt[i][3]=yy+yy2; 存入地毯信息,我存的是最大最小的两个x和y
}
cin>>xx>>yy;
for(int i=0;i<n;i++){
if(xx>=dt[i][0]&&xx<=dt[i][1]&&yy>=dt[i][2]&&yy<=dt[i][3]) cnt=i+1; 遍历判断
}
cout<<cnt;
}
这里空空如也
有帮助,赞一个