loj#P6936. 「ICPC World Finals 2023」未来水世界

「ICPC World Finals 2023」未来水世界

题目描述

近年来,人们在太阳系外发现了数千颗行星。支持潜在生命存在的一个重要因素是是否有液态水。探测遥远的行星上是否有水并不容易。对于旋转的行星,一种利用相对论量子偏振光谱学的全新技术可以提供帮助。它的工作原理如下(这是一个简化的描述,因为这个星球上只有三个人了解它的真正工作原理)。

假设望远镜观察到的行星旋转轴是垂直的,赤道是水平的。我们只分析图像中心的垂直线(覆盖旋转轴的线),因为这条线上行星表面图像的分辨率最高。

分析以 dd 度为一步进行。在一步中,行星旋转 dd 度时的数据被汇总,因此每一步都提供了行星表面 dd 度的切片信息。图像被分割成 nn 个等高的片段,分别进行分析。因此,dd 度的切片被划分为 nn 个区域 A1,,AnA_1,\ldots,A_n。对于每个区域 AiA_i,分析图像得出一个数字,该数字表示 AiA_i 被水覆盖的百分比。下图展示了一个步骤中的区域 AiA_i

waterworld.png

你可以假设行星的表面是一个球面。这意味着区域 A2,,An1A_2,\ldots,A_{n-1} 都是球面四边形:它有四个顶点,两条边平行于赤道(即在平行于赤道平面的平面上),两条边在经过行星两极的大圆上,大圆之间相距 dd 度。在任一极点,四个顶点中有两个坍缩到极点,因此 A1A_1AnA_n 是球面三角形,只有一条边与赤道平行。由于表面的曲率,平行于赤道的边越靠近赤道就越长,而大圆上的边越靠近两极就越长。

在接下来的 dd 度旋转中重复上述过程,以此类推,总共重复 mm 次,直到覆盖整个行星表面(即 md=360md = 360^{\circ})。你的任务是根据给定的数据计算水覆盖行星表面的百分比。

输入格式

第一行输入包含两个整数 nnmm2n,m10002 \le n, m \le 1000)。接下来的 nn 行,每行包含 mm 个整数 ai,ja_{i,j}0ai,j100,1in,1jm0 \le a_{i,j} \le 100,1 \le i \le n, 1 \le j \le m)。该矩阵的每一列描述了一步的测量结果,即旋转 dd 度时的结果。数字 ai,ja_{i,j} 是第 jj 步中水覆盖区域占 AiA_i 面积的百分比。

输出格式

输出行星表面被水覆盖面积占总面积的百分比。输出与答案之间的绝对误差不应超过 10610^{-6}

3 7
63 61 55 54 77 87 89
73 60 38 5 16 56 91
75 43 11 3 16 20 95

51.809523810

4 3
10 10 10
10 10 10
10 10 10
10 10 10

10.000000000