水题,不解释。
#include<fstream>
using namespace std;
const int N(10008);
struct pos_T
{
int x1,y1,a,b;
};
pos_T cpt[N];
bool can(int i,int x,int y)
{
if (x<cpt[i].x1||x>cpt[i].x1+cpt[i].a) return false;
if (y<cpt[i].y1||y>cpt[i].y1+cpt[i].b) return false;
return true;
}
int main()
{
ifstream cin("carpet.in");
ofstream cout("carpet.out");
int n,i,x,y;
cin>>n;
for (i=1;i<=n;i++)
cin>>cpt[i].x1>>cpt[i].y1>>cpt[i].a>>cpt[i].b;
cin>>x>>y;
for (i=n;i>=1;i--)
if (can(i,x,y)) break;
if (i<1) cout<<"-1"<<endl;
else cout<<i<<endl;
cin.close();
cout.close();
return 0;
}
posted on 2011-11-18 15:24
龙在江湖 阅读(517)
评论(0) 编辑 收藏 引用 所属分类:
竞赛题解_NOIP