TopCoder Open 2019 рдЖрд╡реНрд╣рд╛рди: рдкрд╛рдИрдЪреЗ рд╕рд╣рд╛ рддреБрдХрдбреЗ рдХрд░рд╛

TopCoder Open 2019 рдЖрд╡реНрд╣рд╛рди: рдкрд╛рдИрдЪреЗ рд╕рд╣рд╛ рддреБрдХрдбреЗ рдХрд░рд╛
рдкрджреЛрдкрджреАрдВ "рдЖрдордЪреЗ рдЬрд┐рдВрдХрд▓реЗ: рдЯреЙрдкрдХреЛрдбрд░ рдУрдкрди 2019" рдореА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЯреНрд░реЕрдХрд╡рд░реВрди рд╕рдорд╕реНрдпрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЛ (рд╢рд╛рд╕реНрддреНрд░реАрдп рдХреНрд░реАрдбрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ. рджреАрдб рддрд╛рд╕рд╛рдд рддреБрдореНрд╣рд╛рд▓рд╛ Java, C#, C++ рдХрд┐рдВрд╡рд╛ Python рдордзреАрд▓ рддреАрди рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рд╛рд╡реНрдпрд╛ рд▓рд╛рдЧрддреАрд▓.)

1. рд╕рд╣рд╛ рд╕рд╛рдареА рдкрд╛рдИ

рд╕рдорд╕реНрдпреЗрдЪреА рдирд┐рд░реНрдорд┐рддреА

рд╡реЗрд│ рдорд░реНрдпрд╛рджрд╛ 4 рд╕реЗрдХрдВрдж рдЖрд╣реЗ.

рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдкрд╛рдИ рдЖрд╣реЗ. рд╡рд░реВрди рдкрд╛рд╣рд┐рд▓реНрдпрд╛рд╡рд░, рдХреЗрдХрдЪрд╛ рдЖрдХрд╛рд░ (рдХрдареЛрд░рдкрдгреЗ) рдмрд╣рд┐рд░реНрд╡рдХреНрд░ рдмрд╣реБрднреБрдЬрд╛рдЪрд╛ рдЕрд╕рддреЛ. рддреБрдореНрд╣рд╛рд▓рд╛ X рдЖрдгрд┐ Y рдкреВрд░реНрдгрд╛рдВрдХрд╛рдВрдордзреНрдпреЗ рд╢рд┐рд░реЛрдмрд┐рдВрджреВрдВрдЪреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рджрд┐рд▓реЗ рдЖрд╣реЗрдд.

рддреБрдордЪреЗ рдкрд╛рдЪ рдорд┐рддреНрд░ рдЖрд╣реЗрдд. рддреБрдореНрд╣рд╛рд▓рд╛ рдкрд╛рдИ рд╕рдорд╛рди рдХреНрд╖реЗрддреНрд░рд╛рдЪреНрдпрд╛ рд╕рд╣рд╛ рддреБрдХрдбреНрдпрд╛рдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рд╛рдпрдЪреА рдЖрд╣реЗ (рдкрд░рдВрддреБ рд╕рдорд╛рди рдЖрдХрд╛рд░ рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА). рдЕрд░реНрдерд╛рдд, рдХреЛрдгреАрд╣реА рддреЗ рдкрд╛рдЪ рдХрдЯрдордзреНрдпреЗ рдХрд░реВ рд╢рдХрддреЛ, рдкрд░рдВрддреБ рдХреЗрд╡рд│ рдПрдХ рдкреНрд░реЛ рддреАрди рдХрдЯрдордзреНрдпреЗ рдХрд░реВ рд╢рдХрддреЛ.

рдПрдХрд╛ рдмрд┐рдВрджреВрдордзреВрди рддреАрди рд╕рд░рд│ рд░реЗрд╖реЗрддреАрд▓ рдХрдЯ рд╢реЛрдзрд╛ рдЬреЗ рдкрд╛рдИрд▓рд╛ рд╕рд╣рд╛ рд╕рдорд╛рди рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрд▓. рдореБрджреНрд░рд┐рдд рдХрд░рд╛ {x, y, d1, d2, d3}, рдЬреЗрдереЗ (x, y) рддреАрдирд╣реА рдХрдЯрд╛рдВрдЪрд╛ рд╕рд╛рдорд╛рдиреНрдп рдмрд┐рдВрджреВ рдЖрд╣реЗ рдЖрдгрд┐ d1, d2, d3 рд╣реЗ рд░реЗрдбрд┐рдпрдирдордзреАрд▓ рдХрдЯрд╛рдВрдЪреЗ рджрд┐рд╢рд╛ рдХреЛрди рдЖрд╣реЗрдд.

рд╡реНрдпрд╛рдЦреНрдпрд╛рд╡рд░реНрдЧ: CakeForSix
рдХреГрддреА: рдХрд╛рдкреВрди рдШреНрдпрд╛
рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕: int[], int[] рд░рд┐рдЯрд░реНрди: рджреБрд╣реЗрд░реА[] рдкрджреНрдзрдд рд╕реНрд╡рд╛рдХреНрд╖рд░реА: рджреБрд╣реЗрд░реА[] рдХрдЯ(рдЗрдВрдЯ[] x, рдЗрдВрдЯ[] y)
(рддреБрдордЪреА рдкрджреНрдзрдд рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЕрд╕рд▓реНрдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рд╛)

рдиреЛрдЯреНрд╕

  • x-рдЕрдХреНрд╖рд╛рдЪреНрдпрд╛ рдмрд╛рдЬреВрдЪреА рд╕рдХрд╛рд░рд╛рддреНрдордХ рджрд┐рд╢рд╛ 0 (рд░реЗрдбрд┐рдпрди) рдЖрд╣реЗ, y-рдЕрдХреНрд╖рд╛рдЪреНрдпрд╛ рдмрд╛рдЬреВрдЪреА рд╕рдХрд╛рд░рд╛рддреНрдордХ рджрд┐рд╢рд╛ pi/2 (рд░реЗрдбрд┐рдпрди) рдЖрд╣реЗ.
  • d рджрд┐рд╢реЗрддреАрд▓ рдХрдЯ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреВрд░реНрдгрд╛рдВрдХ k рд╕рд╛рдареА pi*k+d рджрд┐рд╢реЗрдиреЗ рдХрдЯ рд╕рд╛рд░рдЦрд╛ рдЕрд╕рддреЛ.
  • рддреБрдореНрд╣реА рдХреЛрдгрддреЗрд╣реА рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реВ рд╢рдХрддрд╛, рддреЗ [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[] рд░рд┐рдЯрд░реНрди: рджреБрд╣реЗрд░реА[] рдкрджреНрдзрдд рд╕реНрд╡рд╛рдХреНрд╖рд░реА: рджреБрд╣реЗрд░реА[] рдХрдЯ(рдЗрдВрдЯ[] 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 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛