QOJ.ac

QOJ

Limite de temps : 3 s Limite de mémoire : 1024 MB Points totaux : 100

#4679. 切奶酪

Statistiques

大家一定都听说过国际奶酪加工公司。他们切割奶酪块使其厚度完全相同的机器堪称经典。最近,他们生产出了一种能够将球形奶酪(例如 Edam 奶酪)切成薄片的机器——虽然切出的薄片厚度不尽相同,但它们的重量却完全一样!但新的挑战接踵而至:切割瑞士奶酪。

像埃曼塔勒(Emmentaler)这样的瑞士奶酪内部有孔,而且孔的大小可能各不相同。带有孔的薄片所含的奶酪较少,重量也比没有孔的薄片轻。因此,现在的挑战是:将一块带有孔的奶酪切成重量相等的薄片。

通过智能声纳技术(与扫描未出生婴儿和油田相同的技术),可以精确到微米定位奶酪中的孔。对于本题,您可以假设这些孔是完美的球体。

每块未切割的奶酪块尺寸为 $100 \times 100 \times 100$,单位均为毫米。您的任务是将其切成 $s$ 片重量相等的薄片。薄片的宽度和高度均为 $100\text{ mm}$,您的工作是确定每一片薄片的厚度。

图片由 Jon Sullivan 通过 Wikimedia Commons 提供

输入格式

输入的第一行包含两个整数 $n$ 和 $s$,其中 $0 \le n \le 10\,000$ 是奶酪中孔的数量,$1 \le s \le 100$ 是要切割的薄片数量。接下来的 $n$ 行,每行包含四个正整数 $r, x, y$ 和 $z$,描述一个孔,其中 $r$ 是半径,$x, y$ 和 $z$ 是球心的坐标,单位均为微米。

奶酪块占据了所有满足 $0 \le x, y, z \le 100\,000$ 的点,但属于某个孔的点除外。切割面垂直于 $z$ 轴。

您可以假设孔之间互不重叠但可能相切,并且孔完全包含在奶酪内部,但也可能与奶酪边界相切。

输出格式

按顺序显示 $s$ 片薄片的厚度(单位为毫米),从 $z = 0$ 的那一端开始。您的输出应具有至少 $10^{-6}$ 的绝对或相对误差。

样例

样例输入 1

0 4

样例输出 1

25.000000000
25.000000000
25.000000000
25.000000000

样例输入 2

2 5
10000 10000 20000 20000
40000 40000 50000 60000

样例输出 2

14.611103142
16.269801734
24.092457788
27.002992272
18.023645064

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.