58分,求调//已添加注释
查看原帖
58分,求调//已添加注释
1068756
George_qwe楼主2024/1/29 11:38
#include <iostream> 
#include <cstring>
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll ans=0;
int x,n;
struct p{//线段的 左端点,右端点
	int l;
	int r;
}line[20005];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		scanf("%d%d",&line[i].l,&line[i].r);
	}
	x=1;//当前位置 
	ans=n-1;//要向下走n-1格 
	for(int i=1;i<=n;i++){
		if(abs(x-line[i].l) > abs(x-line[i].r)){//走到距离远的端点 
			ans+=abs(x-line[i].l);
			x=line[i].l;
		}
		else{
			ans+=abs(x-line[i].r);
			x=line[i].r;
		}
	}
	ans+=abs(x-n);
	cout<<ans;
	return 0;
}
2024/1/29 11:38
加载中...