试题分析:要求最后覆盖的地毯的编号,所以可以从n向上遍历,找到符合要求的地毯,然后输出
注意:没有地毯时输出-1
#include<bits/stdc++.h>
using namespace std;
int main(){
int s,ss,n,x[20005],y[20005],i,j,g[20000],k[20000];
cin>>n;
for(i=1;i<=n;i++){
cin>>x[i]>>y[i]>>g[i]>>k[i];
}
cin>>s>>ss;
for(i=n;i>=1;i--){
if(s>=x[i]&&s<=x[i]+g[i]&&ss>=y[i]&&ss<=y[i]+k[i]){
cout<<i;
return 0;
}
}
cout<<-1;
}