TopCoder เจ“เจชเจจ 2019 เจšเฉเจฃเฉŒเจคเฉ€: เจชเจพเจˆ เจจเฉ‚เฉฐ เจ›เฉ‡ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ•เฉฑเจŸเฉ‹

TopCoder เจ“เจชเจจ 2019 เจšเฉเจฃเฉŒเจคเฉ€: เจชเจพเจˆ เจจเฉ‚เฉฐ เจ›เฉ‡ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ•เฉฑเจŸเฉ‹
เจฐเจธเจคเฉ‡ 'เจคเฉ‡ "เจธเจพเจกเฉ‡ เจœเจฟเฉฑเจคเฉ‡: TopCoder เจ“เจชเจจ 2019" เจฎเฉˆเจ‚ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจŸเจฐเฉˆเจ• เจคเฉ‹เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเจพเจ‚ (เจ•เจฒเจพเจธเฉ€เจ•เจฒ เจธเจชเฉ‹เจฐเจŸเจธ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ—เฅค เจกเฉ‡เจข เจ˜เฉฐเจŸเฉ‡ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจจเฉ‚เฉฐ Java, C#, C++ เจœเจพเจ‚ เจชเจพเจˆเจฅเจจ เจตเจฟเฉฑเจš เจคเจฟเฉฐเจจ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจนเฉฑเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค)

1. เจ›เฉ‡ เจฒเจˆ เจชเจพเจˆ

เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจ—เจ เจจ

เจธเจฎเจพเจ‚ เจธเฉ€เจฎเจพ 4 เจธเจ•เจฟเฉฐเจŸ เจนเฉˆเฅค

เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจชเจพเจˆ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจ‰เฉฑเจชเจฐเฉ‹เจ‚ เจฆเฉ‡เจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ•เฉ‡เจ• เจฆเฉ€ เจธเจผเจ•เจฒ (เจธเจ–เจค) เจ•เจจเจตเฉˆเจ•เจธ เจฌเจนเฉเจญเฉเจœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจคเฉเจนเจพเจจเฉ‚เฉฐ X เจ…เจคเฉ‡ Y เจชเฉ‚เจฐเจจ เจ…เฉฐเจ•เจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉ‹เจฃ เจฆเฉ‡ เจ•เฉ‹เจ†เจฐเจกเฉ€เจจเฉ‡เจŸ เจฆเจฟเฉฑเจคเฉ‡ เจ—เจ เจนเจจเฅค

เจคเฉเจนเจพเจกเฉ‡ เจชเฉฐเจœ เจฆเฉ‹เจธเจค เจนเจจเฅค เจคเฉเจธเฉ€เจ‚ เจชเจพเจˆ เจจเฉ‚เฉฐ เจฌเจฐเจพเจฌเจฐ เจ–เฉ‡เจคเจฐ เจฆเฉ‡ เจ›เฉ‡ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจตเฉฐเจกเจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹ (เจชเจฐ เจ‡เจน เจœเจผเจฐเฉ‚เจฐเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฟ เจ‰เจนเฉ€ เจ†เจ•เจพเจฐ เจนเฉ‹เจตเฉ‡)เฅค เจฌเฉ‡เจธเจผเฉฑเจ•, เจ•เฉ‹เจˆ เจตเฉ€ เจ‡เจธเจจเฉ‚เฉฐ เจชเฉฐเจœ เจ•เฉฑเจŸเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจชเจฐ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹ เจ‡เจธเจจเฉ‚เฉฐ เจคเจฟเฉฐเจจ เจ•เฉฑเจŸเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ.

เจ‡เฉฑเจ• เจฌเจฟเฉฐเจฆเฉ‚ เจฐเจพเจนเฉ€เจ‚ เจธเจฟเฉฑเจงเฉ€เจ†เจ‚ เจฒเจพเจˆเจจเจพเจ‚ เจตเจฟเฉฑเจš เจคเจฟเฉฐเจจ เจ•เฉฑเจŸ เจฒเฉฑเจญเฉ‹ เจœเฉ‹ เจชเจพเจˆ เจจเฉ‚เฉฐ เจ›เฉ‡ เจฌเจฐเจพเจฌเจฐ เจนเจฟเฉฑเจธเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจตเฉฐเจก เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค เจชเฉเจฐเจฟเฉฐเจŸ เจ•เจฐเฉ‹ {x, y, d1, d2, d3}, เจœเจฟเฉฑเจฅเฉ‡ (x, y) เจคเจฟเฉฐเจจเฉ‹เจ‚ เจ•เฉฑเจŸเจพเจ‚ เจฆเจพ เจธเจพเจ‚เจเจพ เจฌเจฟเฉฐเจฆเฉ‚ เจนเฉˆ, เจ…เจคเฉ‡ d1, d2, d3 เจฐเฉ‡เจกเฉ€เจ…เจจ เจตเจฟเฉฑเจš เจ•เฉฑเจŸเจพเจ‚ เจฆเฉ‡ เจฆเจฟเจธเจผเจพ เจ•เฉ‹เจฃ เจนเจจเฅค

เจชเจฐเจฟเจญเจพเจธเจผเจพเจ•เจฒเจพเจธ: เจ•เฉ‡เจ•เจซเฉ‹เจฐเจธเจฟเจ•เจธ
เจขเฉฐเจ—: เจ•เฉฑเจŸเฉ‹
เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ: int[], int[] เจฐเจฟเจŸเจฐเจจ: เจกเจฌเจฒ[] เจตเจฟเจงเฉ€ เจฆเจธเจคเจ–เจค: เจกเจฌเจฒ[] เจ•เฉฑเจŸ (เจ‡เฉฐเจŸ[] x, เจ‡เฉฐเจŸ[] y)
(เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“ เจ•เจฟ เจคเฉเจนเจพเจกเฉ€ เจตเจฟเจงเฉ€ เจœเจจเจคเจ• เจนเฉˆ)

เจจเฉ‹เจŸเจธ

  • x-เจงเฉเจฐเฉ‡ เจฆเฉ‡ เจจเจพเจฒ เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจฆเจฟเจธเจผเจพ 0 (เจฐเฉ‡เจกเฉ€เจ…เจจ) เจนเฉˆ, y-เจงเฉเจฐเฉ‡ เจฆเฉ‡ เจจเจพเจฒ เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจฆเจฟเจธเจผเจพ pi/2 (เจฐเฉ‡เจกเฉ€เจ…เจจ) เจนเฉˆเฅค
  • d เจฆเจฟเจธเจผเจพ เจตเจฟเฉฑเจš เจ•เฉฑเจŸ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจชเฉ‚เจฐเจจ เจ…เฉฐเจ• k เจฒเจˆ pi*k+d เจฆเจฟเจธเจผเจพ เจตเจฟเฉฑเจš เจ•เฉฑเจŸ เจฆเฉ‡ เจธเจฎเจพเจจ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค
  • เจคเฉเจธเฉ€เจ‚ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจฆเจฟเจธเจผเจพ-เจจเจฟเจฐเจฆเฉ‡เจธเจผ เจจเฉ‚เฉฐ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ‰เจนเจจเจพเจ‚ เจฆเจพ [0, pi) เจคเฉ‹เจ‚ เจนเฉ‹เจฃเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค
  • เจ—เฉเจฐเฉ‡เจกเจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‡เจ• เจฆเฉ‡ เจ›เฉ‡ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจฆเฉ‡ เจ–เฉ‡เจคเจฐ เจฆเฉ€ เจกเจฌเจฒเจœเจผ เจตเจฟเฉฑเจš เจ—เจฃเจจเจพ เจ•เจฐเฉ‡เจ—เจพเฅค เจœเจตเจพเจฌ เจธเจตเฉ€เจ•เจพเจฐ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ เจœเฉ‡เจ•เจฐ เจ‰เจนเจจเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจธเจพเจชเฉ‡เจ–เจฟเจ• เจœเจพเจ‚ เจชเฉ‚เจฐเจจ เจ…เฉฐเจคเจฐ 10^(-4) เจคเฉ‹เจ‚ เจ˜เฉฑเจŸ เจนเฉˆเฅค
  • เจตเจงเฉ‡เจฐเฉ‡ เจธเจชเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡, X เจ…เจคเฉ‡ Y เจจเฉ‚เฉฐ เจ—เจฐเฉ‡เจกเจฐ เจฆเฉเจ†เจฐเจพ เจ—เจฟเจฃเจฟเจ† เจ—เจฟเจ† เจคเฉเจนเจพเจกเฉ‡ เจ›เฉ‡ เจ–เฉ‡เจคเจฐเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจธเจญ เจคเฉ‹เจ‚ เจ›เฉ‹เจŸเจพ เจ…เจคเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจกเจพ เจนเฉ‹เจฃ เจฆเจฟเจ“เฅค เจซเจฟเจฐ เจคเฉเจนเจพเจกเจพ เจœเจตเจพเจฌ เจธเจตเฉ€เจ•เจพเจฐ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ เจœเฉ‡เจ•เจฐ เจตเจพเจˆ
  • (เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจฎเฉ‚เจฒ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš 1e-7 เจฆเฉ€ เจฌเจœเจพเจ 1e-4 เจฆเฉ€ เจธเจผเฉเฉฑเจงเจคเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค เจชเฉเจฐเจพเจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ, เจ•เจพเจฒเจฟเฉฐเจ— เจ•เฉ‡เจธเจพเจ‚ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจฆเฉ‡ เจ•เจพเจฐเจจ เจธเจผเฉเฉฑเจงเจคเจพ เจธเฉ€เจฎเจพ เจจเฉ‚เฉฐ เจ˜เจŸเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจธเฉ€ เจœเฉ‹ เจธเฉฐเจญเจพเจตเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจธเจผเฉเฉฑเจงเจคเจพ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจจเจพ เจ•เจฐเจจ เจฏเฉ‹เจ— เจฌเจฃเจพ เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค เจ‡เฉฑเจ• เจ†เจฆเจฐเจธเจผ เจธเฉฐเจธเจพเจฐ เจตเจฟเฉฑเจš, เจธเฉ€เจฎเจพเจตเจพเจ‚ เจ…เจœเจฟเจนเฉ‡ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจซเจฟเจฐ เจตเฉ€ เจ‰เฉฑเจš เจธเจผเฉเฉฑเจงเจคเจพ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ•เฉเจ เจ†เจฎ เจธเฉฐเจ–เจฟเจ†เจคเจฎเจ• เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจเจพ เจ†เจธเจพเจจ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค)

เจชเฉเจฐเจคเจฟเจฌเฉฐเจง

  • x เจตเจฟเฉฑเจš 3 เจคเฉ‹เจ‚ 50 เจคเฉฑเจค เจธเจผเจพเจฎเจฒ เจนเจจเฅค
  • y เจตเจฟเฉฑเจš x เจฆเฉ‡ เจธเจฎเจพเจจ เจคเฉฑเจค เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค
  • 0 เจ…เจคเฉ‡ 10 เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจธเจพเจฐเฉ‡ เจ•เฉ‹เจ†เจฐเจกเฉ€เจจเฉ‡เจŸ เจธเจผเจพเจฎเจฒ เจนเจจ
  • x เจ…เจคเฉ‡ y เจ˜เฉœเฉ€ เจฆเฉ€ เจ‰เจฒเจŸ เจฆเจฟเจธเจผเจพ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ•เจจเจตเฉˆเจ•เจธ เจฌเจนเฉเจญเฉเจœ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจ…เฉฐเจ—เจฐเฉ‡เจœเจผเฉ€ เจตเจฟเฉฑเจš เจฎเฉ‚เจฒ

เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจฌเจฟเจ†เจจ

เจธเจฎเจพเจ‚ เจธเฉ€เจฎเจพ 4 เจธเจ•เจฟเฉฐเจŸ เจนเฉˆเฅค

เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจ•เฉ‡เจ• เจนเฉˆเฅค เจ‰เฉฑเจชเจฐเฉ‹เจ‚ เจฆเฉ‡เจ–เจฟเจ† เจ—เจฟเจ†, เจ•เฉ‡เจ• เจ‡เฉฑเจ• (เจธเจ–เจค เจคเฉŒเจฐ 'เจคเฉ‡) เจ•เจจเจตเฉˆเจ•เจธ เจฌเจนเฉเจญเฉเจœ เจนเฉˆเฅค เจคเฉเจนเจพเจจเฉ‚เฉฐ int[]sx เจ…เจคเฉ‡ y เจตเจฟเฉฑเจš เจ‡เจธเจฆเฉ‡ เจ•เฉ‹เจฃ เจฆเฉ‡ เจ•เฉ‹เจ†เจฐเจกเฉ€เจจเฉ‡เจŸ เจฆเจฟเฉฑเจคเฉ‡ เจ—เจ เจนเจจเฅค

เจคเฉเจนเจพเจกเฉ‡ เจชเฉฐเจœ เจฆเฉ‹เจธเจค เจนเจจเฅค เจคเฉเจธเฉ€เจ‚ เจนเฉเจฃ เจ•เฉ‡เจ• เจจเฉ‚เฉฐ เจฌเจฐเจพเจฌเจฐ เจ–เฉ‡เจคเจฐ เจฆเฉ‡ เจ›เฉ‡ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ•เฉฑเจŸเจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹ (เจชเจฐ เจ‡เจน เจœเจผเจฐเฉ‚เจฐเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฟ เจฌเจฐเจพเจฌเจฐ เจ†เจ•เจพเจฐ เจนเฉ‹เจตเฉ‡)เฅค เจฌเฉ‡เจธเจผเฉฑเจ•, เจ•เฉ‹เจˆ เจตเฉ€ เจ‡เจน เจชเฉฐเจœ เจ•เฉฑเจŸเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ - เจชเจฐ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจธเฉฑเจšเจพ เจชเฉเจฐเฉ‹ เจ‡เจน เจคเจฟเฉฐเจจ เจตเจฟเฉฑเจš เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ!

เจ‰เจธเฉ‡ เจฌเจฟเฉฐเจฆเฉ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจฒเฉฐเจ˜เจฆเฉ‡ เจนเฉ‹เจ เจคเจฟเฉฐเจจ เจธเจฟเฉฑเจงเฉ€-เจฒเจพเจˆเจจ เจ•เฉฑเจŸ เจฒเฉฑเจญเฉ‹ เจœเฉ‹ เจ•เฉ‡เจ• เจจเฉ‚เฉฐ เจ›เฉ‡ เจฌเจฐเจพเจฌเจฐ เจตเฉฑเจกเฉ‡ เจนเจฟเฉฑเจธเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ•เฉฑเจŸเจฆเจพ เจนเฉˆเฅค เจตเจพเจชเจธเฉ€ {x, y, d1, d2, d3}, เจœเจฟเฉฑเจฅเฉ‡ (x, y) เจคเจฟเฉฐเจจ เจ•เฉฑเจŸเจพเจ‚ เจฆเจพ เจธเจพเจ‚เจเจพ เจฌเจฟเฉฐเจฆเฉ‚ เจนเฉˆ, เจ…เจคเฉ‡ d1, d2, d3 เจฐเฉ‡เจกเฉ€เจ…เจจเจพเจ‚ เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจฆเจฟเจธเจผเจพเจตเจพเจ‚ เจนเจจเฅค

เจชเจฐเจฟเจญเจพเจธเจผเจพ

เจ•เจฒเจพเจธ: เจ•เฉ‡เจ•เจซเฉ‹เจฐเจธเจฟเจ•เจธ
เจขเฉฐเจ—: เจ•เฉฑเจŸเฉ‹
เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ: int[], int[] เจฐเจฟเจŸเจฐเจจ: เจกเจฌเจฒ[] เจตเจฟเจงเฉ€ เจฆเจธเจคเจ–เจค: เจกเจฌเจฒ[] เจ•เฉฑเจŸ (เจ‡เฉฐเจŸ[] x, เจ‡เฉฐเจŸ[] y)
(เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“ เจ•เจฟ เจคเฉเจนเจพเจกเฉ€ เจตเจฟเจงเฉ€ เจœเจจเจคเจ• เจนเฉˆ)

เจธเฉ‚เจšเจจเจพ
โ€” x เจงเฉเจฐเฉ‡ เจฆเฉ‡ เจจเจพเจฒ เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจฆเจฟเจธเจผเจพ 0 (เจฐเฉ‡เจกเฉ€เจ…เจจ) เจนเฉˆ, y เจงเฉเจฐเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจฆเจฟเจธเจผเจพ pi/2 (เจฐเฉ‡เจกเฉ€เจ…เจจ) เจนเฉˆเฅค
โ€” เจฆเจฟเจธเจผเจพ d เจตเจฟเฉฑเจš เจ•เฉฑเจŸ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจชเฉ‚เจฐเจจ เจ…เฉฐเจ• k เจฒเจˆ pi*k+d เจฆเจฟเจธเจผเจพ เจตเจฟเฉฑเจš เจ•เฉฑเจŸ เจฆเฉ‡ เจธเจฎเจพเจจ เจนเฉˆเฅค
- เจคเฉเจธเฉ€เจ‚ เจ•เฉ‹เจˆ เจตเฉ€ เจฆเจฟเจธเจผเจพเจตเจพเจ‚ เจตเจพเจชเจธ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ‰เจน [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 เจ“เจชเจจ 2019 เจšเฉเจฃเฉŒเจคเฉ€: เจชเจพเจˆ เจจเฉ‚เฉฐ เจ›เฉ‡ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ•เฉฑเจŸเฉ‹

1)

{0, 1000, 0
{0, 0, 1000
เจตเจพเจชเจธเฉ€:
{333.3333333331763, 333.3333333332546, 0.7853981633986264, 2.0344439357948154, 2.6779450445891753 }

เจธเฉฑเจœเจพ เจคเจฟเจ•เฉ‹เจฃเฅค เจฆเฉเจฌเจพเจฐเจพ, เจ…เจธเฉ€เจ‚ เจธเจฎเจฐเฉ‚เจชเจคเจพ เจฆเฉ‡ เจงเฉเจฐเฉ‡ เจฆเฉ‡ เจจเจพเจฒ เจคเจฟเฉฐเจจ เจ•เฉฑเจŸเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค

TopCoder เจ“เจชเจจ 2019 เจšเฉเจฃเฉŒเจคเฉ€: เจชเจพเจˆ เจจเฉ‚เฉฐ เจ›เฉ‡ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ•เฉฑเจŸเฉ‹

2)

{40, 70, 90, 90, 50
{30, 20, 40, 100, 60
เจตเจพเจชเจธเฉ€:
{69.79517771922892, 52.77575974637605, 2.0616329654335885, 3.637826104091601, 4.32123485812475 }

เจ…เจจเจฟเจฏเจฎเจฟเจค เจชเฉˆเจ‚เจŸเจพเจ—เจจเฅค

TopCoder เจ“เจชเจจ 2019 เจšเฉเจฃเฉŒเจคเฉ€: เจชเจพเจˆ เจจเฉ‚เฉฐ เจ›เฉ‡ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ•เฉฑเจŸเฉ‹

3)

, 300, 400, 300, 200}
, 500, 600, 700, 600}
เจฐเจฟเจŸเจฐเจจ: {299.99999999974995, 599.9999999995, 0.0, 1.107148717794088, 2.034443935795705 }

เจ‡เฉฑเจ• เจตเจฐเจ— 45 เจกเจฟเจ—เจฐเฉ€ เจ˜เฉเฉฐเจฎเจฆเจพ เจนเฉˆเฅค

TopCoder เจ“เจชเจจ 2019 เจšเฉเจฃเฉŒเจคเฉ€: เจชเจพเจˆ เจจเฉ‚เฉฐ เจ›เฉ‡ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ•เฉฑเจŸเฉ‹

[เจธเจฐเฉ‹เจค]

เจธเจฟเจฐเจซเจผ เจฐเจœเจฟเจธเจŸเจฐเจก เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจนเฉ€ เจธเจฐเจตเฉ‡เจ–เจฃ เจตเจฟเฉฑเจš เจนเจฟเฉฑเจธเจพ เจฒเฉˆ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจธเจพเจˆเจจ - เจ‡เจจ, เจคเฉเจนเจพเจกเจพ เจธเฉเจ†เจ—เจค เจนเฉˆ.

เจฎเฉˆเจ‚ เจฒเจˆ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ

  • 10 เจฎเจฟเฉฐเจŸ เจคเฉ‹เจ‚ เจตเฉ€ เจ˜เฉฑเจŸ เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš

  • 10-30 เจฎเจฟเฉฐเจŸ

  • 30-60 เจฎเจฟเฉฐเจŸ

  • 1-2 เจ˜เฉฐเจŸเฉ‡

  • 2 เจ˜เฉฐเจŸเจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš

  • เจนเฉ‹เจฐ

42 เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‡ เจตเฉ‹เจŸ เจ•เฉ€เจคเจพเฅค 47 เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฌเจšเฉ‡ เจฐเจนเฉ‡เฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹