zoukankan      html  css  js  c++  java
  • [NOIP2011]铺地毯

    题目描述

    为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 nn 张地毯,编号从 11 到nn。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。

    地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。

    输入格式

    输入共(n+2)

    第一行,一个整数nn,表示总共有nn张地毯

    接下来的(n)行中,第(i+1)行表示编号ii的地毯的信息,包含四个正整数(a ,b ,g ,k),每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标((a,b))以及地毯在(x)轴和(y)轴方向的长度

    (n+2)行包含两个正整数(x)(y),表示所求的地面的点的坐标((x,y))

    输出格式

    输出共1行,一个整数,表示所求的地毯的编号;若此处没有被地毯覆盖则输出(-1)

    输入输出样例

    输入

    3
    1 0 2 3
    0 2 3 3
    2 1 3 3
    2 2

    输出

    3

    数据范围

    对于30% 的数据,有 (n ≤2)
    对于50% 的数据,(0 ≤a, b, g, k≤1000)
    对于100%的数据,有 (0 ≤n ≤10,000 ,0≤a, b, g, k ≤100,000)

    题解

    简单题,记录每张地毯的左下角编号,先依次记录每张地毯左下角的坐标((x,y)),再枚举判断要求的坐标点((a,b))是否在地毯范围内,如果在则更新(ans)即可。

    #include<bits/stdc++.h>
    #define int long long
    #define maxn 100005
    #define local
    using namespace std;
    inline char get(){
    	static char buf[30000],*p1=buf,*p2=buf;
    	return p1==p2 && (p2=(p1=buf)+fread(buf,1,30000,stdin),p1==p2)?EOF:*p1++;
    }
    inline int read(){
    	register char c=get();register int f=1,_=0;
    	while(c>'9' || c<'0')f=(c=='-')?-1:1,c=get();
    	while(c<='9' && c>='0')_=(_<<3)+(_<<1)+(c^48),c=get();
    	return _*f;
    }
    int n;
    struct edge{
    	int x,y,n,m;
    }E[maxn];
    signed main(){
    	#ifdef local
    	freopen("1.txt","r",stdin);
    	#endif
    	n=read();
    	for(register int i=1;i<=n;i++)E[i].x=read(),E[i].y=read(),E[i].n=read(),E[i].m=read();
    	int x=read(),y=read();
    	int ans=-1;
    	for(register int i=1;i<=n;i++){
    		if(E[i].x<=x && E[i].x+E[i].n>=x && E[i].y<=y && E[i].y+E[i].m>=y)ans=i;
    	}
    	cout<<ans<<endl;
    	return 0;
    }
    
  • 相关阅读:
    动态规划算法
    Spring依赖循环
    使用JMH微基准测试
    expect介绍和使用
    autossh使用(本机记住ssh密码)
    ssh端口转发(ssh隧道)
    WSL2中的Centos8安装桌面
    Tmux Plugin Manager使用及具体插件
    Python使用os.chdir命令切换python工作目录
    python脚本要控制jenkins触发job
  • 原文地址:https://www.cnblogs.com/Chen574118090/p/11550796.html
Copyright © 2011-2022 走看看