这道题名字叫***铺地毯***,是洛谷和ACGO专有的一道题,这道题并不是特别特别难所以我用c++和c的方法试出了三种方法:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int i,n,x[10005],y[10005],a[10005],b[10005],x1,y1,k=1;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d%d%d%d",&x[i],&y[i],&a[i],&b[i]);
scanf("%d%d",&x1,&y1);
for(i=n-1;i>=0;i--)
{
if((x1>=x[i]&&x1<=x[i]+a[i])&&(y1>=y[i]&&y1<=y[i]+b[i]))
{ printf("%d\n",i+1); k*=0;}
else continue;
if((x1>=x[i]&&x1<=x[i]+a[i])&&(y1>=y[i]&&y1<=y[i]+b[i]))
break;
}
if(k==1) printf("-1\n");
return 0;
}
第二种试试
#include<bits/s