京东编程笔试题

来源:互联网 发布:c语言 buffer 编辑:程序博客网 时间:2024/04/29 10:00

给定n辆车的横坐标和长度,可以打两枪,打中车的任何部分都算打中。问最多能打中几辆车。

例:

4

2 2

3 1

5 2

7 3

输出:

4


题解:

#include<cstdio>#include<cstring>int a[205],b[205],c[205];bool q(int w,int e){return a[e]<=a[w]&&b[e]>=a[w];}int n;int s(int w,int e){int re=0;for(int i=1;i<=n;i++)if(q(w,i)||q(e,i))re++;return re;}void work(){scanf("%d",&n);for(int i=1;i<=n;i++){int l;scanf("%d %d",&a[i],&l);b[i]=a[i]+l;}int ans=0;for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++){int k=s(i,j);if(k>ans)ans=k;}printf("%d\n",ans); } int main(){ work(); return 0;}

0 0
原创粉丝点击