1234567890
2026-09-12 17:05:04
发布于:广东
5阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace
std;
struct node
{
int
x, h;
} arr[
100005
];
int main()
{
int
n;
cin>>n;
for(int i = 0
; i<n; i++) {
cin>>arr[i].x>>arr[i].h;
}
int cnt=1, end=arr[0].x; //第一棵树往前倒
for(int i = 1; i<n-1
; i++) {
if(arr[i].x-arr[i].h>end){ //可以往前倒
cnt++;
end=arr[i].x;
}
else if(arr[i].x+arr[i].h<arr[i+1].x){ //可以往后倒
cnt++;
end=arr[i].x+arr[i].h;
}
else end=arr[i].x; //不倒
}
cout<<cnt+
1; //最后一棵树,一定可以往后倒
return 0
;
这里空空如也

有帮助,赞一个