CF379E New Year Tree Decorations

题目描述

由于苏联时代的无神论色彩,20 世纪大部分时间里俄罗斯并未官方庆祝圣诞节。结果,俄罗斯的圣诞和新年传统融合成了一场在新年庆祝的活动,包括圣诞树、类似圣诞老人的“严寒老人”、礼物以及全国范围内的大型家庭团聚和晚宴。在新年购买一棵树并安放在家里已经成为了一种传统。通常整个家庭会在新年前夜一起装饰圣诞树。我们希望 Codeforces 是一个温馨的大家庭,因此在这道题目中我们也要一起装饰圣诞树。 我们的装饰由 $n$ 片彩色纸片组成,每片纸的边界是带有特殊形状的闭合折线。这些纸片如图所示一块接一块地排列。第 $i$ 片纸的折线经过以下点:$(0,0)$、$(0,y_{0})$、$(1,y_{1})$、$(2,y_{2})$、$\ldots$、$(k,y_{k})$、$(k,0)$。每片纸的宽度为 $k$。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF379E/69b6f4a3736ea64c0c3cc034ee4bc0d7ac63d241.png) 左图显示了整个装饰图案,右图显示了构成它的各个纸片。第 1 片纸(图中为红色)是最外层的纸片(完全可见),第 2 片纸(黄色)紧接着覆盖上去(部分被第 1 片纸遮挡),以此类推。由于程序员总是好奇,当我们把装饰品挂到新年树上时,自然想知道:每一片纸有多少面积是可以被看见的?

输入格式

第一行输入两个整数 $n$ 和 $k$,满足 $1 \leq n, k \leq 300$。接下来有 $n$ 行,每行包含 $k+1$ 个整数,描述一片纸的折线。如果第 $i$ 行包含整数 $y_{i,0}, y_{i,1}, \ldots, y_{i,k}$,则第 $i$ 片纸的折线经过点 $(0,0)$、$(0,y_{i,0})$、$(1,y_{i,1})$、$(2,y_{i,2})$、$\ldots$、$(k,y_{i,k})$、$(k,0)$,其中 $1 \leq y_{i,j} \leq 1000$。

输出格式

输出 $n$ 个实数,依次表示每一片纸可见部分的面积。 当答案的相对或绝对误差不超过 $10^{-4}$ 时,将被视为正确。

说明/提示

由 ChatGPT 5 翻译