前言:
收费公路重建这个问题,实现的思路很简单,与最朴素的想法一致。先找到几个标准,然后进行穷举,直到找到答案,或者每一种方案都试过,证明无解。
然而,在编写这个代码的时候却出现了非常多的问题,逻辑错误,不方便调试,编码完之后花了3个小时才调通。在编写这个代码的时候,一定要注意逻辑非常清楚,最好是把伪代码详细到约等于代码,再开始编写。
我的github:
我实现的代码全部贴在我的github中,欢迎大家去参观。
https://github.com/YinWenAtBIT
介绍:
收费公路重建:
一、数学模型:
在X轴上给定N个点,那么N个点之间的每两个点之间的距离为一个距离对,一共有N(N-1)/2对距离。
那么现在给出所有的距离对,求出在X点上的各个点的位置。
二、算法步骤:
1. 根据距离对算出一共有N个点。
2. 先确定一个基准,x1位于原点,最大距离为M,最大点xN在M处。第二距离为m,x(N-1)位于m。
3. 然后在x1到x(N-1)之间,填入还剩的最