TopCoder Open 2019 แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒ•แƒ: แƒ’แƒแƒญแƒ”แƒ แƒ˜แƒ— แƒฆแƒ•แƒ”แƒ–แƒ”แƒšแƒ˜ แƒ”แƒฅแƒ•แƒก แƒœแƒแƒฌแƒ˜แƒšแƒแƒ“

TopCoder Open 2019 แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒ•แƒ: แƒ’แƒแƒญแƒ”แƒ แƒ˜แƒ— แƒฆแƒ•แƒ”แƒ–แƒ”แƒšแƒ˜ แƒ”แƒฅแƒ•แƒก แƒœแƒแƒฌแƒ˜แƒšแƒแƒ“
แƒ™แƒ•แƒแƒšแƒ“แƒแƒ™แƒ•แƒแƒš "แƒฉแƒ•แƒ”แƒœแƒ›แƒ แƒ’แƒแƒ˜แƒ›แƒแƒ แƒฏแƒ•แƒ: TopCoder Open 2019" แƒ›แƒ” แƒ•แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒก แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ˜แƒก แƒขแƒ แƒ”แƒ™แƒ˜แƒ“แƒแƒœ (แƒ™แƒšแƒแƒกแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒกแƒžแƒแƒ แƒขแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ. แƒกแƒแƒแƒ—แƒœแƒแƒฎแƒ”แƒ•แƒแƒ แƒจแƒ˜ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒกแƒแƒ›แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒญแƒ แƒ Java, C#, C++ แƒแƒœ Python-แƒจแƒ˜.)

1. แƒฆแƒ•แƒ”แƒ–แƒ”แƒšแƒ˜ แƒ”แƒฅแƒ•แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ

แƒ“แƒ แƒแƒ˜แƒก แƒšแƒ˜แƒ›แƒ˜แƒขแƒ˜ 4 แƒฌแƒแƒ›แƒ˜แƒ.

แƒฆแƒ•แƒ”แƒ–แƒ”แƒšแƒ˜ แƒ’แƒแƒฅแƒ•แƒก. แƒ–แƒ”แƒ›แƒแƒ“แƒแƒœ แƒ“แƒแƒ—แƒ•แƒแƒšแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒขแƒแƒ แƒขแƒก แƒแƒฅแƒ•แƒก (แƒ›แƒ™แƒแƒชแƒ แƒแƒ“) แƒแƒ›แƒแƒ–แƒœแƒ”แƒฅแƒ˜แƒšแƒ˜ แƒ›แƒ แƒแƒ•แƒแƒšแƒ™แƒฃแƒ—แƒฎแƒ”แƒ“แƒ˜แƒก แƒคแƒแƒ แƒ›แƒ. แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒฌแƒ•แƒ”แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒแƒ แƒ“แƒ˜แƒœแƒแƒขแƒ”แƒ‘แƒ˜ X แƒ“แƒ Y แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒ‘แƒจแƒ˜.

แƒฎแƒฃแƒ—แƒ˜ แƒ›แƒ”แƒ’แƒแƒ‘แƒแƒ แƒ˜ แƒ’แƒงแƒแƒ•แƒก. แƒ’แƒกแƒฃแƒ แƒ— แƒฆแƒ•แƒ”แƒ–แƒ”แƒšแƒ˜ แƒ’แƒแƒงแƒแƒ— แƒ—แƒแƒœแƒแƒ‘แƒแƒ แƒ˜ แƒคแƒแƒ แƒ—แƒแƒ‘แƒ˜แƒก แƒ”แƒฅแƒ•แƒก แƒœแƒแƒฌแƒ˜แƒšแƒแƒ“ (แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒ”แƒ แƒ—แƒœแƒแƒ˜แƒ แƒ˜ แƒคแƒแƒ แƒ›แƒ˜แƒก). แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒงแƒ•แƒ”แƒšแƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒฎแƒฃแƒ— แƒญแƒ แƒ˜แƒšแƒจแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒฎแƒแƒšแƒแƒ“ แƒžแƒ แƒแƒคแƒ”แƒกแƒ˜แƒแƒœแƒแƒšแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒกแƒแƒ› แƒญแƒ แƒ˜แƒšแƒจแƒ˜.

แƒ˜แƒžแƒแƒ•แƒ”แƒ— แƒกแƒแƒ›แƒ˜ แƒญแƒ แƒ˜แƒšแƒ˜ แƒกแƒฌแƒแƒ แƒ˜ แƒฎแƒแƒ–แƒ”แƒ‘แƒ˜แƒ— แƒ”แƒ แƒ—แƒ˜ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ•แƒšแƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒงแƒแƒคแƒก แƒฆแƒ•แƒ”แƒ–แƒ”แƒšแƒก แƒ”แƒฅแƒ•แƒก แƒ—แƒแƒœแƒแƒ‘แƒแƒ  แƒœแƒแƒฌแƒ˜แƒšแƒแƒ“. แƒแƒ›แƒแƒ‘แƒ”แƒญแƒ“แƒ•แƒ {x, y, d1, d2, d3}, แƒกแƒแƒ“แƒแƒช (x, y) แƒแƒ แƒ˜แƒก แƒกแƒแƒ›แƒ˜แƒ•แƒ” แƒญแƒ แƒ˜แƒก แƒกแƒแƒ”แƒ แƒ—แƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜, แƒฎแƒแƒšแƒ d1, d2, d3 แƒแƒ แƒ˜แƒก แƒญแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ™แƒฃแƒ—แƒฎแƒ”แƒ”แƒ‘แƒ˜ แƒ แƒแƒ“แƒ˜แƒแƒœแƒ”แƒ‘แƒจแƒ˜.

แƒ’แƒแƒœแƒ›แƒแƒ แƒขแƒ”แƒ‘แƒแƒ™แƒšแƒแƒกแƒ˜: CakeForSix
แƒ›แƒ”แƒ—แƒแƒ“แƒ˜: แƒ“แƒแƒญแƒ แƒ˜แƒšแƒ˜
แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜: int[], int[] แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก: double[] แƒ›แƒ”แƒ—แƒแƒ“แƒ˜แƒก แƒฎแƒ”แƒšแƒ›แƒแƒฌแƒ”แƒ แƒ: double[] cut(int[] x, int[] y)
(แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜แƒ—, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒกแƒแƒฏแƒแƒ แƒแƒ)

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒ‘แƒ˜

  • แƒ“แƒแƒ“แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ x แƒฆแƒ”แƒ แƒซแƒ˜แƒก แƒ’แƒแƒกแƒฌแƒ•แƒ แƒ˜แƒ• แƒแƒ แƒ˜แƒก 0 (แƒ แƒแƒ“แƒ˜แƒแƒœแƒ˜), แƒ“แƒแƒ“แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ y แƒฆแƒ”แƒ แƒซแƒ˜แƒก แƒ’แƒแƒกแƒฌแƒ•แƒ แƒ˜แƒ• แƒแƒ แƒ˜แƒก pi/2 (แƒ แƒแƒ“แƒ˜แƒแƒœแƒ˜).
  • d แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ˜แƒ— แƒญแƒ แƒ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜แƒ pi*k+d แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ˜แƒ— แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก k.
  • แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ•แƒแƒœแƒแƒ— แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก [0, pi-แƒ“แƒแƒœ).
  • แƒ’แƒ แƒ”แƒ˜แƒ“แƒ”แƒ แƒ˜ แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ”แƒฅแƒ•แƒกแƒ˜ แƒœแƒแƒ›แƒชแƒฎแƒ•แƒ แƒ˜แƒก แƒคแƒแƒ แƒ—แƒแƒ‘แƒก แƒแƒ แƒ›แƒแƒ’แƒแƒ“. แƒžแƒแƒกแƒฃแƒฎแƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ, แƒ—แƒฃ แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก แƒคแƒแƒ แƒ“แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒแƒœ แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒ˜ แƒกแƒฎแƒ•แƒแƒแƒ‘แƒ แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜แƒ 10^(-4).
  • แƒฃแƒคแƒ แƒ แƒ–แƒฃแƒกแƒขแƒแƒ“, แƒ›แƒแƒ“แƒ˜แƒ— X แƒ“แƒ Y แƒ˜แƒงแƒแƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒแƒขแƒแƒ แƒ แƒ“แƒ แƒ“แƒ˜แƒ“แƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ”แƒฅแƒ•แƒกแƒ˜ แƒแƒ แƒ”แƒ“แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒ˜แƒ—แƒ•แƒšแƒ”แƒ‘แƒ แƒ™แƒšแƒแƒกแƒ”แƒ แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ . แƒ›แƒแƒจแƒ˜แƒœ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒžแƒแƒกแƒฃแƒฎแƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ, แƒ—แƒฃ Y
  • (แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ 1e-7 แƒกแƒ˜แƒ–แƒฃแƒกแƒขแƒ” 1e-4-แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“. แƒแƒ แƒฅแƒ˜แƒ•แƒจแƒ˜ แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“, แƒกแƒ˜แƒ–แƒฃแƒกแƒขแƒ˜แƒก แƒšแƒ˜แƒ›แƒ˜แƒขแƒ˜ แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ“แƒ แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒช แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ“ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก แƒกแƒ˜แƒ–แƒฃแƒกแƒขแƒ˜แƒ— แƒ’แƒแƒ“แƒแƒฃแƒญแƒ แƒ”แƒšแƒก แƒ’แƒแƒฎแƒ“แƒ˜แƒก. 1e-7. แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ  แƒกแƒแƒ›แƒงแƒแƒ แƒแƒจแƒ˜ แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ”แƒ‘แƒ˜ แƒแƒ  แƒ˜แƒซแƒšแƒ”แƒ•แƒ แƒแƒกแƒ”แƒ— แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒก แƒ“แƒ แƒ›แƒแƒ˜แƒœแƒช แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒ›แƒแƒฆแƒแƒš แƒกแƒ˜แƒ–แƒฃแƒกแƒขแƒ”แƒก, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒญแƒ แƒ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜แƒ—แƒ˜ แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒ— แƒแƒ“แƒ•แƒ˜แƒšแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก.)

แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ”แƒ‘แƒ˜

  • x แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก 3-แƒ“แƒแƒœ 50 แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒฉแƒแƒ—แƒ•แƒšแƒ˜แƒ—.
  • y แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ˜แƒ›แƒแƒ•แƒ” แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒก, แƒ แƒแƒช x.
  • แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒแƒ แƒ“แƒ˜แƒœแƒแƒขแƒ˜ 0-แƒ“แƒแƒœ 10-แƒ˜แƒก แƒฉแƒแƒ—แƒ•แƒšแƒ˜แƒ—
  • x แƒ“แƒ y แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒ”แƒœ แƒแƒ›แƒแƒ–แƒœแƒ”แƒฅแƒ˜แƒš แƒ›แƒ แƒแƒ•แƒแƒšแƒ™แƒฃแƒ—แƒฎแƒ”แƒ“แƒก แƒกแƒแƒแƒ—แƒ˜แƒก แƒ˜แƒกแƒ แƒ˜แƒก แƒกแƒแƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’แƒ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ˜แƒ—.

แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒ˜ แƒ˜แƒœแƒ’แƒšแƒ˜แƒกแƒฃแƒ แƒแƒ“

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ

แƒ“แƒ แƒแƒ˜แƒก แƒšแƒ˜แƒ›แƒ˜แƒขแƒ˜ 4 แƒฌแƒแƒ›แƒ˜แƒ.

แƒขแƒแƒ แƒขแƒ˜ แƒ’แƒแƒฅแƒ•แƒก. แƒ–แƒ”แƒ›แƒแƒ“แƒแƒœ แƒ“แƒแƒœแƒแƒฎแƒฃแƒšแƒ˜ แƒœแƒแƒ›แƒชแƒฎแƒ•แƒแƒ แƒ˜ แƒแƒ แƒ˜แƒก (แƒ›แƒ™แƒแƒชแƒ แƒแƒ“) แƒแƒ›แƒแƒ–แƒœแƒ”แƒฅแƒ˜แƒšแƒ˜ แƒ›แƒ แƒแƒ•แƒแƒšแƒ™แƒฃแƒ—แƒฎแƒ”แƒ“แƒ˜. แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒ›แƒ˜แƒกแƒ˜ แƒฌแƒ•แƒ”แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒแƒ แƒ“แƒ˜แƒœแƒแƒขแƒ”แƒ‘แƒ˜ int[]sx แƒ“แƒ y.

แƒฎแƒฃแƒ—แƒ˜ แƒ›แƒ”แƒ’แƒแƒ‘แƒแƒ แƒ˜ แƒ’แƒงแƒแƒ•แƒก. แƒแƒฎแƒšแƒ แƒ’แƒกแƒฃแƒ แƒ— แƒœแƒแƒ›แƒชแƒฎแƒ•แƒแƒ แƒ˜ แƒ’แƒแƒญแƒ แƒแƒ— แƒ—แƒแƒœแƒแƒ‘แƒแƒ แƒ˜ แƒคแƒแƒ แƒ—แƒแƒ‘แƒ˜แƒก แƒ”แƒฅแƒ•แƒก แƒœแƒแƒฌแƒ˜แƒšแƒแƒ“ (แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒ—แƒแƒœแƒแƒ‘แƒแƒ แƒ˜ แƒคแƒแƒ แƒ›แƒ˜แƒก). แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒงแƒ•แƒ”แƒšแƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒฎแƒฃแƒ— แƒญแƒ แƒ˜แƒšแƒจแƒ˜ - แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒฎแƒแƒšแƒแƒ“ แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒš แƒžแƒ แƒแƒคแƒ”แƒกแƒ˜แƒแƒœแƒแƒšแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒกแƒแƒ›แƒจแƒ˜!

แƒ˜แƒžแƒแƒ•แƒ”แƒ— แƒกแƒแƒ›แƒ˜ แƒกแƒฌแƒแƒ แƒ˜ แƒฎแƒแƒ–แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ“แƒ˜แƒก แƒ˜แƒ›แƒแƒ•แƒ” แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒจแƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒœแƒแƒ›แƒชแƒฎแƒ•แƒแƒ แƒ˜ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ— แƒ”แƒฅแƒ•แƒก แƒ—แƒแƒœแƒแƒ‘แƒ แƒแƒ“ แƒ“แƒ˜แƒ“ แƒœแƒแƒฌแƒ˜แƒšแƒแƒ“. แƒ“แƒแƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ— {x, y, d1, d2, d3}, แƒกแƒแƒ“แƒแƒช (x, y) แƒแƒ แƒ˜แƒก แƒกแƒแƒ›แƒ˜ แƒ™แƒ•แƒ”แƒ—แƒ˜แƒก แƒกแƒแƒ”แƒ แƒ—แƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜, แƒฎแƒแƒšแƒ d1, d2, d3 แƒแƒ แƒ˜แƒก แƒ›แƒแƒ—แƒ˜ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ แƒแƒ“แƒ˜แƒแƒœแƒ”แƒ‘แƒจแƒ˜.

แƒ’แƒแƒœแƒ›แƒแƒ แƒขแƒ”แƒ‘แƒ

แƒ™แƒšแƒแƒกแƒ˜: CakeForSix
แƒ›แƒ”แƒ—แƒแƒ“แƒ˜: แƒ“แƒแƒญแƒ แƒ˜แƒšแƒ˜
แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜: int[], int[] แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก: double[] แƒ›แƒ”แƒ—แƒแƒ“แƒ˜แƒก แƒฎแƒ”แƒšแƒ›แƒแƒฌแƒ”แƒ แƒ: double[] cut(int[] x, int[] y)
(แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜แƒ—, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒกแƒแƒฏแƒแƒ แƒแƒ)

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒ‘แƒ˜
โ€” x แƒฆแƒ”แƒ แƒซแƒ˜แƒก แƒ’แƒแƒกแƒฌแƒ•แƒ แƒ˜แƒ• แƒ“แƒแƒ“แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒก 0 (แƒ แƒแƒ“แƒ˜แƒแƒœแƒ˜), แƒ“แƒแƒ“แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ y แƒฆแƒ”แƒ แƒซแƒ˜แƒก แƒ’แƒแƒกแƒฌแƒ•แƒ แƒ˜แƒ• แƒแƒ แƒ˜แƒก pi/2 (แƒ แƒแƒ“แƒ˜แƒแƒœแƒ˜).
โ€” แƒ“ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ˜แƒ— แƒญแƒ แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ”แƒ, แƒ แƒแƒช pi*k+d แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ˜แƒ— แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก k.
โ€” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ‘แƒ แƒฃแƒœแƒแƒ— แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก [0,pi-แƒ“แƒแƒœ).
โ€” แƒ’แƒ แƒ”แƒ˜แƒ“แƒ”แƒ แƒ˜ แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ”แƒฅแƒ•แƒกแƒ˜ แƒœแƒแƒ›แƒชแƒฎแƒ•แƒ แƒ˜แƒก แƒคแƒแƒ แƒ—แƒแƒ‘แƒ”แƒ‘แƒก แƒแƒ แƒแƒ“. แƒžแƒแƒกแƒฃแƒฎแƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ, แƒ—แƒฃ แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก แƒคแƒแƒ แƒ“แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒแƒœ แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒ˜ แƒกแƒฎแƒ•แƒแƒแƒ‘แƒ แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜แƒ 10^(-4).
โ€” แƒฃแƒคแƒ แƒ แƒ–แƒฃแƒกแƒขแƒแƒ“, X แƒ“แƒ Y แƒ˜แƒงแƒแƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒแƒขแƒแƒ แƒ แƒ“แƒ แƒฃแƒ“แƒ˜แƒ“แƒ”แƒกแƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ”แƒฅแƒ•แƒกแƒ˜ แƒกแƒคแƒ”แƒ แƒแƒ“แƒแƒœ, แƒ แƒแƒ’แƒแƒ แƒช แƒ”แƒก แƒ’แƒแƒ›แƒแƒ˜แƒ—แƒ•แƒšแƒ”แƒ‘แƒ แƒ™แƒšแƒแƒกแƒ”แƒ แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ . แƒ›แƒแƒจแƒ˜แƒœ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒžแƒแƒกแƒฃแƒฎแƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ, แƒ—แƒฃ Y < max( X + 10^(-4), X * (1+10^(-4)) ).
- (แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ 1e-7 แƒกแƒ˜แƒ–แƒฃแƒกแƒขแƒ” 1e-4-แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“. แƒแƒ แƒฅแƒ˜แƒ•แƒจแƒ˜ แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“ แƒกแƒ˜แƒ–แƒฃแƒกแƒขแƒ˜แƒก แƒšแƒ˜แƒ›แƒ˜แƒขแƒ˜ แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ“แƒ แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒช, แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ“, แƒแƒ›แƒแƒชแƒแƒœแƒแƒก 1e-7 แƒกแƒ˜แƒ–แƒฃแƒกแƒขแƒ˜แƒ— แƒ’แƒแƒ“แƒแƒฃแƒญแƒ แƒ”แƒšแƒก แƒฎแƒ“แƒ˜แƒก. แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ  แƒกแƒแƒ›แƒงแƒแƒ แƒแƒจแƒ˜ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ”แƒ‘แƒ˜ แƒแƒ  แƒ“แƒแƒฃแƒจแƒ•แƒ”แƒ‘แƒก แƒแƒกแƒ”แƒ— แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒก แƒ“แƒ แƒ›แƒแƒ˜แƒœแƒช แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒ›แƒแƒฆแƒแƒš แƒกแƒ˜แƒ–แƒฃแƒกแƒขแƒ”แƒก, แƒแƒกแƒ” แƒ แƒแƒ› แƒแƒ  แƒแƒ แƒ˜แƒก แƒแƒ“แƒ•แƒ˜แƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒญแƒ แƒ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜แƒ—แƒ˜ แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—.)

แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ”แƒ‘แƒ˜
โ€” x-แƒก แƒ”แƒฅแƒœแƒ”แƒ‘แƒ 3-แƒ“แƒแƒœ 50 แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒแƒ›แƒ“แƒ”, แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก.
โ€” y-แƒก แƒ”แƒฅแƒœแƒ”แƒ‘แƒ แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ, แƒ แƒแƒช x.
- แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒแƒ แƒ“แƒ˜แƒœแƒแƒขแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ 0-แƒ“แƒแƒœ 10,000-แƒ›แƒ“แƒ”, แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก.
โ€” x แƒ“แƒ y แƒแƒฆแƒฌแƒ”แƒ แƒก แƒแƒ›แƒแƒ–แƒœแƒ”แƒฅแƒ˜แƒš แƒ›แƒ แƒแƒ•แƒแƒšแƒ™แƒฃแƒ—แƒฎแƒ”แƒ“แƒก แƒกแƒแƒแƒ—แƒ˜แƒก แƒ˜แƒกแƒ แƒ˜แƒก แƒกแƒแƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’แƒ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒ—.

แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜

0)

{0, 20, 30, 50, 30, 20}
{10, 0, 0, 10, 20, 20}
แƒแƒœแƒแƒ–แƒฆแƒแƒฃแƒ แƒ”แƒ‘แƒ:
{24.999999999437453, 9.999999999500002, 0.0, 0.7266423406817211, 2.4149503129080787 }

แƒกแƒ˜แƒ›แƒ”แƒขแƒ แƒ˜แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒแƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ”แƒฅแƒ•แƒกแƒ™แƒฃแƒ—แƒฎแƒ”แƒ“แƒ˜. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒžแƒแƒกแƒฃแƒฎแƒ˜ แƒจแƒ”แƒ”แƒกแƒแƒ‘แƒแƒ›แƒ”แƒ‘แƒ แƒ›แƒ˜แƒก แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒญแƒ แƒแƒก แƒ“แƒ แƒแƒ แƒ˜ แƒกแƒฎแƒ•แƒ แƒญแƒ แƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒแƒก แƒชแƒ”แƒœแƒขแƒ แƒจแƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒงแƒแƒคแƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒœแƒแƒฌแƒ˜แƒšแƒก แƒกแƒแƒ› แƒœแƒแƒฌแƒ˜แƒšแƒแƒ“.

TopCoder Open 2019 แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒ•แƒ: แƒ’แƒแƒญแƒ”แƒ แƒ˜แƒ— แƒฆแƒ•แƒ”แƒ–แƒ”แƒšแƒ˜ แƒ”แƒฅแƒ•แƒก แƒœแƒแƒฌแƒ˜แƒšแƒแƒ“

1)

{0, 1000, 0}
{0, 0, 1000}
แƒแƒœแƒแƒ–แƒฆแƒแƒฃแƒ แƒ”แƒ‘แƒ:
{333.3333333331763, 333.3333333332546, 0.7853981633986264, 2.0344439357948154, 2.6779450445891753 }

แƒ›แƒแƒ แƒ—แƒ™แƒฃแƒ—แƒฎแƒ แƒกแƒแƒ›แƒ™แƒฃแƒ—แƒฎแƒ”แƒ“แƒ˜. แƒ˜แƒกแƒ”แƒ• แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— แƒกแƒ˜แƒ›แƒ”แƒขแƒ แƒ˜แƒ˜แƒก แƒฆแƒ”แƒ แƒซแƒ˜แƒก แƒ’แƒแƒกแƒฌแƒ•แƒ แƒ˜แƒ• แƒกแƒแƒ›แƒ˜ แƒญแƒ แƒ˜แƒšแƒ˜แƒ“แƒแƒœ แƒ”แƒ แƒ—แƒ˜.

TopCoder Open 2019 แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒ•แƒ: แƒ’แƒแƒญแƒ”แƒ แƒ˜แƒ— แƒฆแƒ•แƒ”แƒ–แƒ”แƒšแƒ˜ แƒ”แƒฅแƒ•แƒก แƒœแƒแƒฌแƒ˜แƒšแƒแƒ“

2)

{40, 70, 90, 90, 50}
{30, 20, 40, 100, 60}
แƒแƒœแƒแƒ–แƒฆแƒแƒฃแƒ แƒ”แƒ‘แƒ:
{69.79517771922892, 52.77575974637605, 2.0616329654335885, 3.637826104091601, 4.32123485812475 }

แƒแƒ แƒแƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒฎแƒฃแƒ—แƒ™แƒฃแƒ—แƒฎแƒ”แƒ“แƒ˜.

TopCoder Open 2019 แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒ•แƒ: แƒ’แƒแƒญแƒ”แƒ แƒ˜แƒ— แƒฆแƒ•แƒ”แƒ–แƒ”แƒšแƒ˜ แƒ”แƒฅแƒ•แƒก แƒœแƒแƒฌแƒ˜แƒšแƒแƒ“

3)

{300, 400, 300, 200}
{500, 600, 700, 600}
แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก: {299.99999999974995, 599.9999999995, 0.0, 1.107148717794088, 2.034443935795705 }

แƒ™แƒ•แƒแƒ“แƒ แƒแƒขแƒ˜ แƒ‘แƒ แƒฃแƒœแƒแƒ•แƒก 45 แƒ’แƒ แƒแƒ“แƒฃแƒกแƒ˜แƒ—.

TopCoder Open 2019 แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒ•แƒ: แƒ’แƒแƒญแƒ”แƒ แƒ˜แƒ— แƒฆแƒ•แƒ”แƒ–แƒ”แƒšแƒ˜ แƒ”แƒฅแƒ•แƒก แƒœแƒแƒฌแƒ˜แƒšแƒแƒ“

[แƒฌแƒงแƒแƒ แƒ]

แƒ’แƒแƒ›แƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒจแƒ˜ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒแƒ‘แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒแƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก. แฒจแƒ”แƒ‘แƒ แƒซแƒแƒœแƒ“แƒ˜แƒ—แƒ’แƒ—แƒฎแƒแƒ•แƒ—

แƒ›แƒ” แƒ›แƒแƒ•แƒแƒ’แƒ•แƒแƒ แƒ” แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ

  • 10 แƒฌแƒฃแƒ—แƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘ แƒ“แƒ แƒแƒจแƒ˜

  • 10-30-แƒ”

  • 30-60-แƒ”

  • 1-2 แƒกแƒแƒแƒ—แƒ˜

  • 2 แƒกแƒแƒแƒ—แƒ–แƒ” แƒ›แƒ”แƒขแƒฎแƒแƒœแƒจแƒ˜

  • แƒกแƒฎแƒ•แƒ

แƒ›แƒ˜แƒกแƒชแƒ แƒฎแƒ›แƒ 42 แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ. 47 แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ แƒ—แƒแƒ•แƒ˜ แƒจแƒ”แƒ˜แƒ™แƒแƒ•แƒ.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ