SP7693 ENVIRON - Environmental Engineering
题目描述
未来,环境工程师将面临饮用水稀缺这一重大挑战。不仅植被和野生动物依赖充足的淡水,人类也同样需要。为了将海水转化为饮用水,已经开发了多种淡化工艺。
然而,地球上的水资源分布并不均匀,有些地区水资源短缺,而另一些则过剩。国际珍贵消费品委员会(ICPC)设计了一个雄心勃勃的项目,旨在实现地球(假设为一个完美的球体)上水资源的均匀分布。经研究,最富水和最缺水的地区等距分布在一个最长的圆周上(即地球的中心也是该圆的中心)。因此,提出了沿该圆周修建巨大管道以输送水的设想。
每条管道都有两个端点,从富水地区出发,抵达缺水地区。由于长距离钻地不切实际,这些管道都将建在地面上方。此外,为不同高度的管道设置了专用通道。管道将首先垂直上升到允许的高度,然后呈90°转弯,沿固定高度前进,最后在匮乏地区上方再次呈90°转弯垂直下降。
由于所有管道在地面的投影都必须遵循同一个圆周,ICPC 面临一个难题:必须确保这些管道在二维平面上不相交。同时,他们还希望最小化管道的总长度。你的任务是计算出所有管道的最小总长度。已知允许的管道通道高度是相邻地点之间距离的非零整数倍(沿圆周测量),该距离为 1。
输入格式
输入由多个测试用例组成,每组测试用例之间用空行分隔。每个测试用例的第一行为一个整数 $N (0 \le N \le 500)$,表示地点数,接下来的一行为 $N$ 个数字(‘0’ 或 ‘1’),描述了沿圆周的地点分布。‘0’ 表示缺水的地点,‘1’ 表示富水的地区。可以假设‘0’ 和 ‘1’ 的数量总是相同的。输入在 $N = 0$ 的测试用例时终止,该测试用例不需要处理。
输出格式
对于每个测试用例,输出所有管道的最小总长度,精确到小数点后两位,使得每个富水地区恰好连接到一个缺水地区。
**样例输入**
```
4
1 0 0 1
8
1 1 1 1 0 0 0 0
0
```
**样例输出**
```
9.14
31.00
```
**本翻译由 AI 自动生成**