[ACM]NOIP2011D1T1复现-铺地毯

2023-06-14,,

逆向考虑即可解决

#include<iostream>

using namespace std;

const int maxn= 100000 +5;

int a[maxn][4];//0-x,1-y,2-x-length,3-y-length

int main(){
int n,flag=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i][0]>>a[i][1]>>a[i][2]>>a[i][3];
}
int x,y;
cin>>x>>y;
for(int i=n;i>0;i--)
{
if((a[i][0] + a[i][2] >= x) && (a[i][1] + a[i][3] >= y) && (a[i][0] <= x) && (a[i][1] <=y))
{
flag=i;
break;
}
else if(a[i][0]==x && a[i][1]==y)
{
flag=i;
break;
}
}
if(flag!=0) cout<<flag;
else cout<<-1;
return 0;
}

[ACM]NOIP2011D1T1复现-铺地毯的相关教程结束。

《[ACM]NOIP2011D1T1复现-铺地毯.doc》

下载本文的Word格式文档,以方便收藏与打印。