编程题:圆排列问题
给定n个大小不等的圆r1,r2,…,r$$_n$$,现要将这n个圆排进一个矩形框中,且要求各圆与矩形框的底边相切。圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列。例如,当n=3,且所给的3个圆的半径分别为1,1,2时,这3个圆的最小长度的圆排列如图所示。其最小长度为2+$$4\sqrt2$$

### 输入格式:
第一行一个整数n(n<=10)。
第二行n个整数,分别表示n个圆的半径(半径<100)。
### 输出格式:
第一行一个数表示圆排列后的最小长度(小数点后保留4位)。
第二行n个数表示某圆排列得到最小长度时的各个圆的半径(半径按排列顺序输出,每个数后面一个空格)。
### 输入样例:
in
3
1 1 2
### 输出样例:
out
7.6569
1 2 1
题目保证排列顺序答案唯一。
答案:若无答案欢迎评论

### 输入格式:
第一行一个整数n(n<=10)。
第二行n个整数,分别表示n个圆的半径(半径<100)。
### 输出格式:
第一行一个数表示圆排列后的最小长度(小数点后保留4位)。
第二行n个数表示某圆排列得到最小长度时的各个圆的半径(半径按排列顺序输出,每个数后面一个空格)。
### 输入样例:
in
3
1 1 2
### 输出样例:
out
7.6569
1 2 1
题目保证排列顺序答案唯一。
答案:若无答案欢迎评论