SP2274 ISLHOP - Island Hopping

题目描述

太平洋岛网公司(PIN)发现太平洋中有几个小岛群尚未接入高速互联网。为了开发这一潜在市场,PIN 计划为这些岛上的居民提供互联网服务。每个岛群的主岛已经通过深海电缆与最近的大陆互联网枢纽连接(无论是美洲、澳大利亚还是亚洲)。现在只需要将同一组内的岛屿互相连接。你需要编写一个程序,帮助 PIN 确定最佳连接方案。 对于每个岛屿,指定了其路由器的位置和岛上的居民数量。图中的黑点代表路由器,旁边的数字是居民数量。PIN 将在路由器之间建立连接,以确保每个路由器都能通过路径到达主岛。PIN 决定以最小化电缆总长的方式建设网络。在这样的约束下,可能存在多个最优网络。然而,PIN 对具体建设哪个最优网络并不在意。 PIN 关注服务的推广时间,具体来说是新客户平均需要多少天才能接入互联网。假定所有电缆链接的建设同时开始,建造速度为每天一公里。这样一来,较短的电缆会先完成。一旦某个岛屿能够通过已完成的电缆链接与主岛相连,该岛屿就能接入互联网。如果第 $i$ 个岛上有 $m_i$ 个居民,并且在第 $t_i$ 天该岛接入互联网,新客户平均接入时间的计算公式为: \[ \frac{\sum (m_i \cdot t_i)}{\sum m_i} \]

输入格式

输入由多个岛屿组的描述组成。每个岛屿组的描述第一行是一个正整数 $n$,表示该组中的岛屿数量($n \le 50$)。接下来的 $n$ 行中,每行有三个整数 $x_i, y_i, m_i$,分别表示路由器的位置 $(x_i, y_i)$ 和岛上居民数量 $m_i$($m_i > 0$)。坐标单位为公里。输入的第一个岛屿是主岛。 输入以单独一行的数字 $0$ 结束。

输出格式

对于输入中的每组岛屿,输出组号以及居民平均需要多少天才能接入互联网。天数应保留两位小数。输出格式应参考以下样例。 在每组测试用例的输出后,留一个空行。 **本翻译由 AI 自动生成**