- 铺地毯
- 2015-10-19 19:08:59 @
#include <iostream>
//#include <fstream>
#include <cstdio>
#include <cstdlib>
using namespace std;
int main()
{
int n=0;
int a[n];
int b[n];
int g[n];
int k[n];
int x=0,y=0;
scanf("%d",&n);
//cin>>n;
for (int j=0;j<n;j++)
{
scanf("%d%d%d%d",&a[j],&b[j],&g[j],&k[j]);
//cin>>a[j]>>b[j]>>g[j]>>k[j];
}
scanf("%d%d",&x,&y);
//cin>>x>>y;
int i=n-1;
bool t=1;
while (1)
{
if ((x>=a[i])&&(x<=a[i]+g[i])&&(y>=b[i])&&(y<=b[i]+k
[i]))
{
t=0;
i++;
printf("%d",i);
//cout<<i+1;
break;
}
i--;
}
if (t) printf("%d",-1);//cout<<(-1);
return 0;
}
2 条评论
-
zhangz LV 10 @ 2015-10-21 22:06:58
动态内存分配不是这么用的吧。而且非常量是不能作为数组大小的,你这估计CE吧?
依稀记得是int *a=new int[n];//n已经输入
记得delete[] a;
不过NOIP尽量不要动态内存分配 -
2015-10-21 08:34:31@
至少我觉得从最开始就有问题了
int n=0;
int a[n];
int b[n];
int g[n];
int k[n];
这样数组就只有0个元素,相当于没开数组
后面的还没看
- 1