算法-大作业-圆排列问题

1.问题 给定n个圆的半径序列,将它们放到矩形框中,各圆与矩形底边相切,求具有最小排列长度的圆排列。 2.解析 圆的摆放位置不同,得到的结果可能不同,所以这是一个排列问题,在回溯里面需要添加全排列的代码。 要得到圆排列的长度,我们需要知道最右边圆心的横坐标,+它的半径+第一个圆的半径。通过下图可知,第n个圆的圆心横坐标=与他相切的圆的横坐标+2*sqrt(r[n]*r[n-1])。因为当前圆可能和
相关文章
相关标签/搜索