QOJ.ac

QOJ

実行時間制限: 2 s メモリ制限: 256 MB 満点: 100

#673. 包裹

統計

你想要用丝带包裹一个立方体盒子。你将丝带系成一个环。换句话说,丝带必须是盒子表面上的一个闭合曲线。丝带必须是绷紧的:它在表面上必须是直的,并且当它穿过一条棱时,如下图所示的两个角必须相等。丝带不允许穿过顶点。

此外,当盒子放置在三维空间中,且其棱平行于笛卡尔坐标系的坐标轴时,丝带必须有一部分平行于向量 $(a, b, 0)$。

盒子的边长为 $1$。计算丝带的最小可能长度。你可以假设结的大小无限小,但丝带即使在结的位置也必须是绷紧的(见下文说明)。

输入格式

输入包含两个整数 $a$ 和 $b$,位于同一行($0 \le a, b \le 10^{18}, (a, b) \neq (0, 0)$)。

输出格式

输出丝带的最小可能长度,要求绝对误差或相对误差不超过 $10^{-6}$。

样例

样例输入 1

1 1

样例输出 1

4.2426406871192851464050661726291

样例输入 2

1 0

样例输出 2

4

样例输入 3

10 30

样例输出 3

9.4868329805051379959966806332982

说明

下图中的前三幅图展示了三个样例的可能解。注意,最后一幅图是第三个样例的一个无效解示例。

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.