[NOIP-2011-D1A]铺地毯-暴力枚举

刚看到这道题时以为有多个查询,然后就在想哇day1 t1这么难。
哦,只有一个查询
暴枚

题目[vijos]

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
struct s
{
	int a,b,g,k;
}s[10000+5];
int main()
{
	int n;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d%d%d%d",&s[i].a,&s[i].b,&s[i].g,&s[i].k);
	}
	int x,y;
	scanf("%d%d",&x,&y);
	int ans=0;
	for(int i=1;i<=n;i++)
	{
		if(s[i].a+s[i].g>=x&&s[i].a<=x)
		{
			if(s[i].b+s[i].k>=y&&s[i].b<=y)
			{
				ans=i;
			}
		}
	}
	if(ans==0) printf("-1");
	else printf("%d",ans);
}

 

[NOIP-2011-D1A]铺地毯-暴力枚举》上有1个想法

  1. 上面这个人就是个辣鸡,
    居然以为是多个查询,典型不看题。
    蛤蛤蛤蛤蛤蛤蛤(迟来的蛤诞节快乐)
    ——————————————————————————
    这题直接暴枚啊……
    用一个结构体,存下这张地毯的左下角坐标和右上角坐标,
    然后看查询的点是否在该地毯内,
    因为是按编号顺序枚举,所以直接更新一下编号就行了
    (PS:上面那个人一开始写的是
    -for(int i=1;i=x)
    – {
    – if(s[i].b+s[i].k>=y)
    – {
    – ans=i;
    – }
    – }
    – }
    蛤蛤蛤蛤蛤蛤蛤只有30分蛤蛤蛤蛤蛤蛤蛤

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注