刷题时看某博主题解发现了不理解的地方 已经把他代码写到本地了。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a[10001],b[10001],g[10001],k[10001],x,y;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i]>>b[i];
cin>>g[i]>>k[i];
}
cin>>x>>y;
for(int i=n;i>=1;i--)
{
if((x>=a[i]&&x<=a[i]+g[i])&&(y>=b[i]&&y<=b[i]+k[i]))
{
cout<<i<<endl;
return 0;
}
else cout<<-1<<endl;
}
return 0;
}
不理解的地方在于15行,这行if语句是确定x与y范围是吧,为什么要这么判定,好迷。
本地测试全对了,而且其他博主也是这么写的,这篇相对最清楚了。
本题链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1118
希望得到回复吧。