当前位置: 移动技术网 > IT编程>开发语言>C/C++ > P1003铺地毯

P1003铺地毯

2019年07月16日  | 移动技术网IT编程  | 我要评论

火鸟字幕合并器,破天荒电影,开门见夫

这道题是2011年提高组第一题,在洛谷被评为普及—。看到题目后直接写了一个纯模拟,结果第一次提交全部re,后将数组开大,随即mle。然后又去思索其余方法,采用先将每一个地毯的对角线存下来,然后i--看目标坐标是否在这个地毯下面,经过多次调试,发现竟是一个低级错误作怪,修正后ac。

1.注意看数据范围,数组大小,时空复杂度需要计算。
2.模拟题要思考巧妙方法。
3.写代码要严谨,冷静去写。调试时放松心态,认真去找错误。

代码:
int n;
int sx,sy;
int lx,ly;
int ax,ay;
int left_x[maxn];
int left_y[maxn];
int right_x[maxn];
int right_y[maxn];
bool flag=false;
int main(){
cin>>n;
for(int i=1;i<=n;i++){//存对角线
cin>>sx>>sy>>lx>>ly;
left_x[i]=sx;//左下横
left_y[i]=sy;//左下纵
right_x[i]=sx+lx;//右上横
right_y[i]=sy+ly;//右上纵
}
cin>>ax>>ay;
for(int i=n;i>=1;i--){
if(ax>=left_x[i]&&ax<=right_x[i]&&ay>=left_y[i]&&ay<=right_y[i]){
flag=true;
cout<<i;
break;
}
}
if(flag==false) cout<<-1;
return 0;
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网