依次枚举每次盖在目标点上的地毯编号,输出最后一个,哪里不对嘛?
蒟蒻の疑惑
#include<bits/stdc++.h>
#define int unsigned long long
using namespace std;
const int size = 1e5+100;
inline int read(){
int x = 0 ,f = 1;
char ch = getchar();
while(!isdigit(ch)){
if(ch == '-') f = -1;
ch = getchar();
}
while(isdigit(ch)){
x = (x<<1) + (x<<3) + ch - 48;
ch = getchar();
}
return x * f;
}
struct hlt{
int val,a,b,c,d;
}q[size];
int n , ans;
int x,y;
signed main(){
n = read();
ans = -1;
for(int i=1;i<=n;++i){
q[i].val = i;
q[i].a = read();
q[i].b = read();
q[i].c = read();
q[i].d = read();
}
x = read() , y = read();
for(int i=1;i<=n;++i){
if(x < q[i].a || x > q[i].c || y < q[i].b || y > q[i].d) continue;
else ans = q[i].val;
}
printf("%d\n",ans);
return 0;
}