UVA915 Stack of Cylinders

题目描述

问题描述 假设你在一座山上放置了一些半径不同的圆柱体,使得它们堆叠在一起(如图所示)。 根据圆柱体的半径,其中的一组圆柱体连接起来可以形成一条连续的路径。在所示的范例中,(如图),圆柱2,3,6组成了一条路径,其中我们称圆柱2为这一路径的开头,圆柱6为这一路径的末尾。 定义此路径的封闭距离d为从路径的开头的左支撑点直到路径的末尾的最右端的点的距离。 现在给你一些圆柱体,你要求出这些堆叠起来的圆柱中组成一条连续路径的圆柱序列,并求出此路径的封闭距离。保证每一个圆柱体最多在左右两边各接触一个圆柱体。

输入格式

输入将包含几个测试用例,如下所述。 连续的测试用例将由空行分隔。 第一行包含一个整数NC,表示圆柱体的数目NC。 随后NC行,第k行为第k个圆柱的半径(整数或十进制小数格式)。 (圆柱的序列号从1开始) 注意:NC

输出格式

连续的测试用例将由空行分隔。 第一行包含一个十进制小数,表示路径的封闭距离。 第二行包含一个整数NP,表示构成路径的圆柱体个数。 此后NP行,以正确的顺序输出构成该路径的NP个圆柱体的序号。