输入 输入描述: 输入数据的第一行包含两个整数a, b,表示某农场的长和宽分别是a和b,此时,该农场的范围是由坐标(0, 0, 0), (a, 0, 0), (a, b, 0), (0, b, 0)围成的矩形区域。 第二行包含一个实数g,表示阳光照射的角度。简单起见,我们假设阳光光线是垂直于农场的宽的,此时正好和农场的长的夹角是g度,此时,空间中的一点(x, y, z)在地面的投影点应该是(x + z * ctg(g度), y, 0),其中ctg(g度)表示g度对应的余切值。 第三行包含一个非负整数n,表示空中租位个数。 接下来 n 行,描述每个租位。其中第i行包含4个整数xi, yi, zi, ri,表示第i个租位彩云的圆心在(xi, yi, zi)位置,圆半径为ri。 输入样例: 10 10 90.0 1 5 5 10 5 输出 输出描述: 要求输出一个实数,四舍五入保留两位有效数字,表示农场里能长庄稼的土地的面积。 输出样例: 21.46
时间: 2023-03-25 14:03:11 浏览: 82
java进行ACM读入输出
4星 · 用户满意度95%
我可以回答这个问题。根据输入数据,我们可以得到农场的四个顶点坐标,然后根据阳光照射的角度,计算出每个租位在地面上的投影圆的半径。接着,我们可以将农场划分成若干个小矩形,对于每个小矩形,判断它是否被任意一个租位的投影圆覆盖,如果没有被覆盖,则计算该小矩形的面积并累加到总面积中。最后,输出总面积即可。根据样例输入,输出结果为21.46。
阅读全文