#P1040. 全球气候模型

全球气候模型

题目背景

近年来,全球气候变暖导致极地冰盖逐渐融化,引发了全球海平面上升的问题。
科学家希望建立一个简化模型,用于估算全球海平面变化的趋势。

小明在学习地理与物理时,对这个问题产生了兴趣。
他决定编写一个程序,根据给定的冰层分布和温度上升幅度,预测海平面上升的量。

~小明:我又来了。~

题目描述

地球的冰层分为两种类型:

  • 陆地冰(type = 1):位于陆地上,融化后将直接增加海洋体积。
  • 海冰(type = 0):漂浮在海面上,融化后不会改变海平面高度。

每块冰层的特征如下:

参数 含义
type 冰的类型(0 表示海冰,1 表示陆地冰)
mass 冰的质量(单位:Gt,即 101210^{12} 千克)
melt 冰融化的比例(0melt10 \leq melt \leq 1

当全球平均温度上升 ΔT\Delta T 摄氏度时:

  1. 陆地冰融化后转化为水体积;
  2. 海水因热膨胀导致体积增加。

计算 全球海平面上升的毫米数,结果保留 6 位小数

输入格式

第一行一个整数 nn,表示冰层的数量。
接下来 nn 行,每行包含三个实数: type mass melt
最后一行给出一个实数 ΔT\Delta T,表示全球平均温度上升。

输出格式

输出一个实数,表示海平面上升的毫米数,保留 6 位小数。

输入输出样例 #1

输入 #1

3
1 3500000 0.6
0 50000 1.0
1 200000 0.3
2.5

输出 #1

28.651203

输入输出样例 #2

输入 #2

2
1 1200000 0.8
0 900000 0.5
1.0

输出 #2

11.285467

说明/提示

数据规模与约定

  • 1n121 \le n \le 12
  • 0<mass5×1060 < mass \le 5\times10^6
  • 0melt10 \le melt \le 1
  • 0ΔT50 \le \Delta T \le 5
  • 所有实数保留 6 位小数输入
  • 结果误差在 10410^{-4} 以内均视为正确

提示

假设:

  • 冰的密度:ρice=917 kg/m3ρ_{ice} = 917 \text{ kg/m}^3
  • 水的密度:ρwater=1000 kg/m3ρ_{water} = 1000 \text{ kg/m}^3
  • 全球海洋体积:Vocean=1.332×109 km3V_{ocean} = 1.332 \times 10^9 \text{ km}^3
  • 全球海洋表面积:Aocean=3.618×108 km2A_{ocean} = 3.618 \times 10^8 \text{ km}^2
  • 海水平均体积膨胀系数:α=2.1×104/°C\alpha = 2.1 \times 10^{-4} /°C

计算步骤:

  1. 每块陆地冰的融化体积:$$V_{melt} = \frac{mass \times 10^{12}}{ρ_{water}} \times melt$$
  2. 总增加体积:$$V_{total} = \sum V_{melt} + V_{ocean} \times \alpha \times \Delta T$$
  3. 海平面上升:$$h = \frac{V_{total}}{A_{ocean}} \times 10^6 \text{ mm}$$