铺地毯

铺地毯

https://ac.nowcoder.com/acm/problem/16593

思路:
看到这题我有想过前缀和、差分,但是后来发现,这题其实是个思维题,贪心也行吧。
从先存完数据,然后从后往前枚举,遇到第一个囊括询问的点时就输出是第几个毛毯接着退出程序。
Code:

#include<bits/stdc++.h>
#define  js  ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
using namespace std;
struct node{
    int x,y,shang,you;
}q[10005];
int main() {
    js; int n,x,y;
    cin>>n;
    for(int i=1;i<=n;++i) cin>>q[i].x>>q[i].y>>q[i].you>>q[i].shang;
    cin>>x>>y;
    for(int i=n;i;--i) {
        if(x<q[i].x||y<q[i].y) continue;
        if(x-q[i].x<=q[i].you&&y-q[i].y<=q[i].shang) {
            cout<<i<<"\n";
            return 0;
        }
    }
}

为雨巨打call

全部评论
我前缀和和差分都想了,结果不行。。。。然后就写不出来了。。。思维题也没有想出来。。。太蒟蒻了我。。
点赞 回复 分享
发布于 2021-06-01 16:54

相关推荐

拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
7 收藏 评论
分享
牛客网
牛客企业服务