SP9641 FBRIDGES - Factory of Bridges
题目描述
在马其顿的中央地区有一条东西流向的河流。当地居民计划建造一座南北走向的桥,为此他们请来了短桥建设公司——这是一家以构建最短河流桥梁而闻名的建筑公司。
公司首先需要对河岸(北岸和南岸)进行建模。每一岸被视作由若干不同半径的半圆组成,这些半圆交替朝向,所有半圆的圆心在同一条直线上。定义北岸和南岸的半圆中心线均为东西走向,且两岸中心线之间的距离为 **A**,即河流宽度。请注意,两岸的起止位置相对一致,即北岸和南岸在东西方向上是对齐的。
通过下图可以看到某条河流的模型。在北岸,最西侧的半圆朝向北方,而在南岸,最西侧的半圆朝向南方。在每个岸边,后续的半圆方向交替变化。图中所示的桥为可能的最短南北向桥梁。

你需要帮助这家公司确定连接河流两岸的最短桥梁的长度。
输入格式
输入由多组测试数据组成。每组测试数据包含三行。
- 第一行是一个整数 **A**,表示河流宽度(单位:米,范围为 3 到 10,000)。
- 第二行描述北岸,第三行描述南岸。每个描述的第一部分是一个整数 **C**,表明用来建模该岸边的半圆数量(1 到 1000)。接下来是一个字符 "N" 或 "S",表示最西边的半圆分别朝北或朝南。随后是 **C** 个整数 **R_i**,表示组成该岸边的半圆的半径(单位:米,范围为 1 到 $\frac{A}{2}$)。半圆从西到东排列(半径为 **R_1** 到 **R_C**)。半圆的朝向在第一个半圆之后交替变化,开头的朝向已在描述中给出。假设每组测试数据中,北岸和南岸的半圆组合半径之和相同。
输入以一个独立的 -1 结束。
输出格式
对每组测试数据,输出一行显示连接两岸最短桥梁的长度(单位:米),保留两位小数。结果四舍五入,如果遇到需要向上或向下取舍时,请选择向上取整。即便只有整数部分,也必须确保输出小数点后两位。
**本翻译由 AI 自动生成**