试设计一个用回溯法搜索排列空间树的函数。该函数的参数包括结点可行性判定函数和上界函数等必要的函数,并将此函数用于解圆排列问题。圆排列问题描述如下:给定n个大小不等的圆c1,c2,...,cn,现要将这n个圆排进一个矩形框中,且要求各圆与矩形框的底边相切。圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列。例如,当n=3,且所给的3个圆的半径分别为1,1,2时,这3个圆的最小长度的圆排列是1,2,1,其最小长度为2+4*sqr(2)。编程任务:对于给定的n个圆,编程计算最小长度排列。