QOJ.ac

QOJ

実行時間制限: 5.0 s メモリ制限: 64 MB 満点: 100

#18082. 雙縫實驗

統計

Professor Friedrich von Krüger 想要進行一項經典雙縫實驗的改進版本。眾所周知,該實驗是讓光穿過一塊帶有兩條平行窄縫的不透明板,以展示某種量子現象。

這項實驗的改進之處在於讓光穿過兩塊板子而非一塊;教授相信這項改進將有助於發現前所未見的量子現象。

教授已經製作了必要的板子。它們是大小相同且厚度可忽略不計的圓盤。這些板子可以重疊並繞著共同的中心旋轉。第一塊板子有兩條窄縫,可以視為距離圓盤中心距離為 $r$ 的兩條平行直線。第二塊板子有一個凸多邊形形狀的孔。圓盤的中心位於多邊形內部,且多邊形邊界上的每一點到圓盤中心的距離都嚴格大於 $r$。

教授的計算顯示,穿過板子的光量越少,成功的機率就越高。因此,教授想要旋轉這些板子,使得狹縫與多邊形相交的總長度最小。

請計算出相交總長度的最小值。

輸入格式

第一行包含兩個整數 $n$ 和 $r$ —— 多邊形的頂點數量以及狹縫到圓盤中心的距離 ($3 \le n \le 10^4, 1 \le r \le 10^5$)。

接下來的 $n$ 行描述多邊形的頂點。第 $i$ 行的形式為 $x_i$ $y_i$,描述相對於放置在原點 $(0, 0)$ 的圓盤中心的第 $i$ 個頂點座標 ($-10^6 \le x_i, y_i \le 10^6$)。頂點按順時針或逆時針順序排列。

保證多邊形邊界上的任何點到圓盤中心的距離都嚴格大於 $r$。

輸出格式

輸出一個數字 —— 相交總長度的最小值,精確度要求為 $10^{-6}$。

範例

輸入 1

4 1
5 5
-5 5
-5 -5
5 -5

輸出 1

20.00000000000000000000

輸入 2

4 3
5 5
-5 5
-5 -5
5 -5

輸出 2

16.28427124746190202131

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.