最短曼哈顿距离(递推+枚举 C++)

该博客探讨了如何计算在曼哈顿地图上,从固定起点(0,0)到终点,避开一个景点后最短的曼哈顿距离。通过递推和枚举方法解决这个问题,博主提供了一个解决方案,指出在满足数据规模限制的情况下,直接枚举不会导致超时。" 122526340,7466189,使用Python第三方库xlrd读取Excel,"['Python', 'Excel处理']
摘要由CSDN通过智能技术生成

最短曼哈顿距离
总时间限制: 1000ms 内存限制: 65536kB
描述
假设两点坐标A(x1,y1),B(x2,y2),两点间的直线距离又叫做欧基里德距离,定义为sqrt((x1-x2)2+(y1-y2)2);两点间的曼哈顿距离被定义为fabs(x1-x2)+fabs(y1-y2)。
G老师准备从曼哈顿这座城市的西北角A点出发,到终点B点,沿途要按顺序经过n-2个旅游景点(起点和终点也算在n里边),n个点的坐标需要你来输入,起点A坐标固定为(0,0),G老师有点累,打算少去1个旅游景点(不能少去起点和终点),请你帮忙,计算出少去哪一个景点可以使得从起点A到终点B的曼哈顿距离最短。
输入
共n+1行
第1行1个正整数n,表示G老师旅行的轨迹点数
后n行,每行两个数,表示该旅游景点的坐标
数据规模:
对于40%的数据满足:3≤n≤1000
对于100%的数据满足:3≤n≤100000,-1000≤xi,yi≤1000
输出
两个整数,用空格隔开
第一个数表示不去哪一个景点的顺序编号(如有多个点不去的曼哈顿距离一样,输出顺序路径中不去的最后1个景点)
第二个数表示不去那个景点之后,起点到终点的最小曼哈顿距离
样例输入

4
0 0
8 3
11 -1
10 0<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值