CF379E.New Year Tree Decorations

省选/NOI-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Due to atheistic Soviet past, Christmas wasn't officially celebrated in Russia for most of the twentieth century. As a result, the Russian traditions for Christmas and New Year mixed into one event celebrated on the New Year but including the tree, a Santa-like 'Grandfather Frost', presents and huge family reunions and dinner parties all over the country. Bying a Tree at the New Year and installing it in the house is a tradition. Usually the whole family decorates the tree on the New Year Eve. We hope that Codeforces is a big and loving family, so in this problem we are going to decorate a tree as well.

So, our decoration consists of n pieces, each piece is a piece of colored paper, its border is a closed polyline of a special shape. The pieces go one by one as is shown on the picture. The i-th piece is a polyline that goes through points: (0, 0), (0, _y_0), (1, _y_1), (2, _y_2), ..., (k, y__k), (k, 0). The width of each piece equals k.

The figure to the left shows the decoration, the figure to the right shows the individual pieces it consists of.

The piece number 1 (shown red on the figure) is the outer piece (we see it completely), piece number 2 (shown yellow) follows it (we don't see it completely as it is partially closed by the first piece) and so on. The programmers are quite curious guys, so the moment we hung a decoration on the New Year tree we started to wonder: what area of each piece can people see?

由于苏联时期的无神论背景,整个二十世纪的大部分时间里,圣诞节在俄罗斯并未被正式庆祝。因此,俄罗斯的圣诞节与新年传统融合为一个统一的节日——在新年期间庆祝,但包含圣诞树、类似圣诞老人的“严寒爷爷”(Grandfather Frost)、礼物,以及遍布全国的盛大家庭团聚和晚宴。在新年购买一棵树并将其安放在家中是一项传统习俗,通常全家人会在除夕夜共同装饰这棵树。我们希望 Codeforces 是一个庞大而充满爱的大家庭,因此本题中,我们也来装饰一棵树吧。

我们的装饰由 nn 个部件组成,每个部件是一张彩色纸片,其边缘是一条具有特殊形状的闭合折线。这些部件按顺序依次叠放,如图所示。第 ii 个部件是一条经过以下各点的折线:(0, 0)(0, 0)、(0, y0)(0, y_0)、(1, y1)(1, y_1)、(2, y2)(2, y_2)、…、(k, yk)(k, y_k)、(k, 0)(k, 0)。每个部件的宽度均为 kk。

左侧图示为整体装饰效果,右侧图示为其所包含的各个独立部件。

编号为 1 的部件(图中以红色标出)位于最外层(我们可完全看到它),编号为 2 的部件(图中以黄色标出)紧随其后(由于被第一个部件部分遮挡,我们无法完全看到它),依此类推。程序员们向来充满好奇心,因此,当我们刚把装饰挂上新年树时,便开始思考这样一个问题:每个部件中,人们实际能看到的面积是多少?

输入格式

The first line contains two integers, n and k (1 ≤ n, k ≤ 300). Each of the following n lines contains k + 1 integers — the description of the polyline. If the i-th line contains ontegers y__i, 0, y__i, 1, ..., y__i, k, that means that the polyline of the i-th piece goes through points (0, 0), (0, y__i, 0), (1, y__i, 1), (2, y__i, 2), ..., (k, y__i, k), (k, 0) (1 ≤ y__i, j ≤ 1000).

第一行包含两个整数 nn 和 kk(1≤n,k≤3001 \leq n, k \leq 300)。接下来的 nn 行,每行包含 k+1k+1 个整数——描述一条折线。若第 ii 行包含整数 yi,0, yi,1, …, yi,ky_{i,0},\ y_{i,1},\ \dots,\ y_{i,k},则表示第 ii 个图形对应的折线依次经过以下各点:(0, 0)(0,\ 0)、(0, yi,0)(0,\ y_{i,0})、(1, yi,1)(1,\ y_{i,1})、(2, yi,2)(2,\ y_{i,2})、…\dots、(k, yi,k)(k,\ y_{i,k})、(k, 0)(k,\ 0)(其中 1≤yi,j≤10001 \leq y_{i,j} \leq 1000)。

输出格式

Print n real numbers — for each polyline, the area of its visible part.

The answer will be considered correct if its relative or absolute error do not exceed 10 - 4.

输出 n 个实数——对每条折线,输出其可见部分的面积。

若答案的相对误差或绝对误差均不超过 10−410^{-4},则视为正确。

输入输出样例

  • 输入#1

    2 2
    2 1 2
    1 2 1

    输出#1

    3.000000000000
    0.500000000000
  • 输入#2

    1 1
    1 1

    输出#2

    1.000000000000
  • 输入#3

    4 1
    2 7
    7 2
    5 5
    6 4

    输出#3

    4.500000000000
    1.250000000000
    0.050000000000
    0.016666666667

输入解题思路,AI测评打分。不知道怎么写?

首页