P1003铺地毯

2019-08-16 07:50:04来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

P1003铺地毯

这道题是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;
}


原文链接:https://www.cnblogs.com/china-mjr/p/11189349.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:kuangbin专题专题四 Frogger POJ - 2253

下一篇:Switch语句