被誉为提高组一大水题 如果是多组查询可能还要有难度些
单组查询的话。。 呵呵 当我们弱智吗O(∩_∩)O~
好了 只用读入数据之后
遍历一次 每次只记录是否覆盖这个点 覆盖就更新
单组查询的话。。 呵呵 当我们弱智吗O(∩_∩)O~
好了 只用读入数据之后
遍历一次 每次只记录是否覆盖这个点 覆盖就更新
就有ans 了
#include<cstdio>
#include<iostream>
using namespace std;
int n;
struct edge
{
int x,y;
int lx,ly;
}e[10000+10];
int gox,goy;
int ans=-1;
void readdata()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d%d%d%d",&e[i].x,&e[i].y,&e[i].lx,&e[i].ly);
scanf("%d%d",&gox,&goy);
}
void solve()
{
for(int i=1;i<=n;i++)
{
if((e[i].x<=gox)&&(e[i].x+e[i].lx>=gox))
if((e[i].y<=goy)&&(e[i].y+e[i].ly>=goy))
ans=i;
}
printf("%d\n",ans);
}
int main()
{
freopen("carpet.in","r",stdin);
freopen("carpet.out","w",stdout);
readdata();
solve();
}
642

被折叠的 条评论
为什么被折叠?



