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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจตเจพเจฒเฉ€เจ†เจ‚ เจธเจพเจˆเจŸเจพเจ‚ เจฒเจˆ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ ๐Ÿ”ฅ DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจจเจพเจฒ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจตเฉˆเฉฑเจฌเจธเจพเจˆเจŸ เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ | ProHoster