【NOIP 2011 提高组 Day1】铺地毯

题目


题解

–很简单的一道题,无论是正着搜,还是倒着搜,都不会超时(但倒着肯定更快)
只需要对所求点寻找:覆盖它的编号最大的地毯,就是答案了


代码:

#include
#include
#include
#include
#include
#include
using namespace std;
const int MAXN=10005;

int n;
int a[MAXN],b[MAXN],c[MAXN],d[MAXN];
int x,y;
int ans=-1;

int main(){
//  freopen("carpet.in","r",stdin);
//  freopen("carpet.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++)
        scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]);
    cin>>x>>y;
    for(int i=n;i>=1;i--)
        if(a[i]<=x&&a[i]+c[i]>=x&&b[i]<=y&&b[i]+d[i]>=y){
            ans=i;
            break;
        }
    cout<return 0;
}

你可能感兴趣的:(搜索,刷题之路)