Yandex.Taxi рд╕реЗ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЪреИрдореНрдкрд┐рдпрдирд╢рд┐рдк рдХреЗ рдмреИрдХреЗрдВрдб рдЯреНрд░реИрдХ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг


рдмреИрдХрдПрдВрдб рдЯреНрд░реИрдХ рдХреЗ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рдкреБрд░рд╕реНрдХрд╛рд░ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐

рд╣рдо рджреВрд╕рд░реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЪреИрдореНрдкрд┐рдпрдирд╢рд┐рдк рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреВрд░реА рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рд╛рд▓ рдХреЗ рд╕рдкреНрддрд╛рд╣реЛрдВ рдореЗрдВ, рд╣рдордиреЗ рддреАрди рдЯреНрд░реИрдХ: рдПрдордПрд▓, рдлреНрд░рдВрдЯреЗрдВрдб рдФрд░ рдореЛрдмрд╛рдЗрд▓ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдмреИрдХрдПрдВрдб рдкрд░ рдЯреНрд░реИрдХ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред рдпрд╣ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдирд┐рдХрд▓рд╛: 2682 рд▓реЛрдЧреЛрдВ рдиреЗ рдпреЛрдЧреНрдпрддрд╛ рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛, рдЙрдирдореЗрдВ рд╕реЗ 320 рдлрд╛рдЗрдирд▓ рдореЗрдВ рдкрд╣реБрдВрдЪреЗред рдмреИрдХреЗрдВрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ Yandex.Taxi рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдорд╛рд░реНрдЯрд┐рдпрди рдкреНрд░рдЪрд╛рд░ рдХреЛрдб

рд▓реЗрдЦрдХ: рдореИрдХреНрд╕рд┐рдо рдкреЗрдбреЗрдВрдХреЛ
рд╕рдордп рд╕реАрдорд╛1 рдПрд╕
рдореЗрдореЛрд░реА рдХреА рд╕реАрдорд╛64 рдПрдордмреА
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдорд╛рдирдХ рдЗрдирдкреБрдЯ рдпрд╛ input.txt
рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛рдирдХ рдЙрддреНрдкрд╛рджрди рдпрд╛ output.txt
рдордВрдЧрд▓ рдкрд░ рдпрд╛рдирдбреЗрдХреНрд╕.рдЯрдХреНрд╕реА рдХреЗ рдкреНрд░рдХреНрд╖реЗрдкрдг рдХреЛ рдЫрд╣ рдорд╣реАрдиреЗ рдмреАрдд рдЪреБрдХреЗ рд╣реИрдВред рдорд╛рд░реНрдЯрд┐рдпрди рдирд╡ рд╡рд░реНрд╖ рддрдХ, Yandex.Taxi рдиреЗ Martians рдХреЛ рдкреНрд░рдЪрд╛рд░ рдХреЛрдб рджреЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдорд╛рд░реНрдЯрд┐рдпрди рдкреГрдереНрд╡реА рдкреНрд░реЛрдореЛ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдордВрдЧрд▓ рдкрд░ рд╕рд░реНрд╡рд░ рдкреГрдереНрд╡реА рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, Yandex.Taxi рд╡рд┐рд╢реЗрд╖ рдорд╛рд░реНрдЯрд┐рдпрди рдкреНрд░рдЪрд╛рд░ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЖрдпрд╛ред

рдорд╛рд░реНрдЯрд┐рдпрди рдкреНрд░рдЪрд╛рд░ рдХреЛрдб рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ:

  1. рдПрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред
  2. рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  3. рд╕рднреА рд╕рдмреНрд╕рдЯреНрд░рд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕реЗ, рд▓рдВрдмрд╛рдИ рдПрд▓ рдХреЗ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  4. рдЪрдпрдирд┐рдд рд╕рдмреНрд╕рдЯреНрд░рд┐рдВрдЧ рдорд┐рд╢реНрд░рд┐рдд рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реИрдВред
  5. рд╕рдВрдШрдирди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рдкреНрд░рдЪрд╛рд░рдХ рдХреЛрдб рд╣реИред

рдЙрджреНрджреЗрд╢реНрдп:
рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рджрд░реНрдЬ рдкреНрд░рдЪрд╛рд░рдХ рдХреЛрдб рд╡реИрдз рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рдкреНрд░рдЪрд╛рд░рдХ рдХреЛрдб рдорд╛рдиреНрдп рд╣реИ, рддреЛ рдЖрдкрдХреЛ "YES" рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЕрдорд╛рдиреНрдп рд╣реИ, рддреЛ "рдирд╣реАрдВ"ред

I / O рдкреНрд░рд╛рд░реВрдк, рдЙрджрд╛рд╣рд░рдг рдФрд░ рдиреЛрдЯреНрд╕

рдЗрдирдкреБрдЯ рдкреНрд░рд╛рд░реВрдк


<рдкреНрд░рдЪрд╛рд░ рдХреЛрдб рд▓рдВрдмрд╛рдИ>
<рдкреНрд░рдЪрд╛рд░ рдХреЛрдб>

<рдХреБрдВрдЬреА рд▓рдВрдмрд╛рдИ>

<рдХреБрдВрдЬреА>

<рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд▓рдВрдмрд╛рдИ рдПрд▓>

рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк


рдкрджреЛрдиреНрдирддрд┐ рдХреЛрдб рд╡реИрдзрддрд╛: рд╣рд╛рдБ рдпрд╛ рдирд╣реАрдВред

рдЙрджрд╛рд╣рд░рдг 1

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдирд┐рд╖реНрдХрд░реНрд╖
6
ABCDEA
6
EAABCD
2
YES

рдЙрджрд╛рд╣рд░рдг 2

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдирд┐рд╖реНрдХрд░реНрд╖
12
MARS1234MARS
24
ASDGRV12MARSS1234VRCMARS
4
YES

рдЙрджрд╛рд╣рд░рдг 3

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдирд┐рд╖реНрдХрд░реНрд╖
12
ABC123123ABC
9
ABC123123
3
NO

рдиреЛрдЯ


рд▓рдВрдмрд╛рдИ L> 1ред
рдкрджреЛрдиреНрдирддрд┐ рдХреЛрдб рд╡рд░реНрдгрдорд╛рд▓рд╛ [AZ, 0-9]ред
рдкреНрд░рдЪрд╛рд░ рдХреЛрдб рдХреА рд▓рдВрдмрд╛рдИ рд╕реАрдорд╛ [6, 30] рдореЗрдВ рд╣реИред
рдореБрдЦреНрдп рд▓рдВрдмрд╛рдИ рд╕реАрдорд╛ [6, 30] рдореЗрдВ рд╣реИред
рдкрджрд╛рд░реНрде рдХреА рд▓рдВрдмрд╛рдИ L <рдХреА рд▓рдВрдмрд╛рдИред
рдкреНрд░рдЪрд╛рд░рдХ рдХреЛрдб рдХреА рд▓рдВрдмрд╛рдИ рдПрд▓ рдХреА рдПрдХ рдмрд╣реБ рд╣реИред

рдирд┐рд░реНрдгрдп


рд╣рдореЗрдВ рд▓рдВрдмрд╛рдИ рдПрд▓ рдХреЗ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рдХреЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рднрд╛рдЬрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдкреНрд░реЛрдореЛ рдХреЛрдб рд╕рдВрднрд╡ рд╡рд┐рднрд╛рдЬрди рд╕реЗ рдмрдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╕рдВрдХреЗрдд рдиреЛрдЯреЛрдВ рдореЗрдВ рдЫрд┐рдкрд╛ рд╣реИ:
рдкреНрд░рдЪрд╛рд░ рдХреЛрдб рдХреА рд▓рдВрдмрд╛рдИ рд╕реАрдорд╛ [6, 30] рдореЗрдВ рд╣реИред
рдореБрдЦреНрдп рд▓рдВрдмрд╛рдИ рд╕реАрдорд╛ [6, 30] рдореЗрдВ рд╣реИред

рдЫреЛрдЯреЗ рдкреНрд░рддрд┐рдмрдВрдз рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдкреНрд░рднрд╛рд╡реА рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдиреБрдХреВрд▓рди рдХреА рдЦреЛрдЬ рдореЗрдВ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рд╕рдорд╕реНрдпрд╛ рд╕рд┐рд░ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред

рдпрд╣ рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрд╛рдж рдмреИрдХрдПрдВрдб рд╡рд┐рдХрд╛рд╕ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред рдЕрдХреНрд╕рд░ рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ рдЬрдм рдЖрдк рдЗрд╖реНрдЯрддрдо рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкрд░ рд╕рдкреНрддрд╛рд╣ рдмрд┐рддрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХрд╛ рд╡рдЬрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рддреНрд╡рд░рд┐рдд рдФрд░ рд╕рдмрд╕реЗ рдЗрд╖реНрдЯрддрдо рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рд╣рдо рдкреНрд░рдореЛрд╢рдирд▓ рдХреЛрдб рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рдХреЛ рд▓реЗрдЧрд┐рдВрдЧ рдХреЗ рдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рд▓рдВрдмрд╛рдИ L рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдПрд╕ рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рд╕реЗ рд╕рднреА рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдПрд╕ рдХреЗ рдмрд░рд╛рдмрд░ рд╕рдорд╛рди рдкрд╛рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдПрд╕ рдХреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ, рдЕрдЧрд▓реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдПрд╕ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рджреЛрд╣рд░рд╛рдПрдВред

рдпрджрд┐ рдПрд╕ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рдЕрдкреНрд░рдпреБрдХреНрдд рдПрд╕ рдХреЗ рдХреЛ рдвреВрдВрдврдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡рд┐рднрд╛рдЬрди рдХреЗ рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИ, рддреЛ рдкреНрд░рдЪрд╛рд░рдХ рдХреЛрдб рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред

рдпрджрд┐ рдПрд╕ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдПрд╕ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдПрдХ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдкрджреЛрдиреНрдирддрд┐ рдХреЛрдб рдорд╛рдиреНрдп рд╣реИред

рдорд╛рд░реНрд╕ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди

рд▓реЗрдЦрдХ: рджрд┐рдорд┐рддреНрд░реА рдкреЛрд▓рд┐рд╢рдЪреБрдХ рдФрд░ рдПрдВрдЯреЛрди рдЯреЛрдбреБрдЖ
рд╕рдордп рд╕реАрдорд╛3 рдПрд╕
рдореЗрдореЛрд░реА рдХреА рд╕реАрдорд╛64 рдПрдордмреА
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдорд╛рдирдХ рдЗрдирдкреБрдЯ
рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛рдирдХ рдЙрддреНрдкрд╛рджрди
рдпрд╣ 2058 рдХрд╛ рд╡рд░реНрд╖ рдерд╛ред рдкрд╣рд▓реЗ рдмрд╕рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреА рдХрд╛рд▓реЛрдирд┐рдпрд╛рдБ рдкрд╣рд▓реЗ рд╣реА рдордВрдЧрд▓ рдкрд░ рдЙрддрд░ рдЧрдИ рдереАрдВ рдФрд░ рдЙрд╕рдореЗрдВ рдмрд╕рдирд╛ рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдпрд╛рдВрдбреЗрдХреНрд╕.рдЯрдХреНрд╕реА рдиреЗ рд╢рдЯрд▓ рд╕реНрдЯреЗрд╢рдиреЛрдВ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдерд╛ред

рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рд╢рдЯрд▓ рд╕реНрдЯреЗрд╢рди рдХреЛ рдКрд░реНрдЬрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдирд┐рд░рдВрддрд░ рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕реНрдЯреЗрд╢рди рдХреЛ рдмрд┐рдЬрд▓реА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╛ рддреЛ рд╕реНрдЯреЗрд╢рди рдХреЗ рдЕрдВрджрд░ рдПрдХ рдпреВрд░реЗрдирд┐рдпрдо рдкрд░рдорд╛рдгреБ рдКрд░реНрдЬрд╛ рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рджреВрд╕рд░реЗ (рдкрд╣рд▓реЗ рд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд) рд╢рдЯрд▓ рд╕реНрдЯреЗрд╢рди рдкрд░ рдПрдХ рдХреЗрдмрд▓ рдмрд┐рдЫрд╛рдирд╛ рд╣реЛрдЧрд╛ред рд╡рд┐рднрд┐рдиреНрди рд╢рдЯрд▓ рд╕реНрдЯреЗрд╢рдиреЛрдВ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд▓рд╛рдЧрдд рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИред рд╢рдЯрд▓ рд╕реНрдЯреЗрд╢рдиреЛрдВ рдХреЗ рдмреАрдЪ рдХреЗрдмрд▓ рд░реВрдЯрд┐рдВрдЧ рднреА рд▓рд╛рдЧрдд рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИ рдФрд░ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдХреЗрдмрд▓ рдХрдиреЗрдХреНрд╢рди рджреНрд╡рд┐-рджрд┐рд╢рд╛рддреНрдордХ рд╣реИред

рдХрд╛рд░реНрдп рд╕рднреА рд╢рдЯрд▓ рд╕реНрдЯреЗрд╢рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрд╢рд▓ (рдиреНрдпреВрдирддрдо рд▓рд╛рдЧрдд рдХреЗ рд╕рд╛рде) рд╢рдХреНрддрд┐ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рд╣реИред

рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд░, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдХреБрд▓ рд╢рдЯрд▓ рд╕реНрдЯреЗрд╢рди, рдкреНрд░рддреНрдпреЗрдХ рд╢рдЯрд▓ рд╕реНрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЬрдирд░реЗрдЯрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд▓рд╛рдЧрдд рдФрд░ рд╢рдЯрд▓ рд╕реНрдЯреЗрд╢рдиреЛрдВ (рдХрдиреЗрдХреНрдЯреЗрдб рд╕реНрдЯреЗрд╢рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдХреЗрдмрд▓ рдмрд┐рдЫрд╛рдиреЗ рдХреА рд▓рд╛рдЧрдд) рдХреЗ рдмреАрдЪ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдХреЗрдмрд▓реЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

I / O рдкреНрд░рд╛рд░реВрдк, рдЙрджрд╛рд╣рд░рдг рдФрд░ рдиреЛрдЯреНрд╕

рдЗрдирдкреБрдЯ рдкреНрд░рд╛рд░реВрдк


рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╢рдЯрд▓ рд╕реНрдЯреЗрд╢рдиреЛрдВ N contains 1000 рдХреА рдПрдХ рдПрдХрд▓ рдЧреИрд░-рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рд╣реИред

рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдПрди рдирдВрдмрд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдЯреЗрд╢рди рдХреЗ рдЕрдВрджрд░ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд▓рд╛рдЧрдд рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред

рддреАрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╢рдЯрд▓ рд╕реНрдЯреЗрд╢рдиреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрднрд╡ рдХреЗрдмрд▓ K between 100000 рдХреА рдПрдХ рдПрдХрд▓ рдЧреИрд░-рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рд╣реИред

рдЕрдЧрд▓реА K рд▓рд╛рдЗрдиреЛрдВ (рдЪреМрдереЗ рд╕реЗ рд╢реБрд░реВ) рдореЗрдВ рдПрдХ рдХреЗрдмрд▓ - рддреАрди рдкреВрд░реНрдгрд╛рдВрдХ рдЧреИрд░-рдЛрдгрд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╣реЛрддрд╛ рд╣реИ: рдкрд╣рд▓реЗ рд╕реНрдЯреЗрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛, рджреВрд╕рд░реЗ рд╕реНрдЯреЗрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рд▓рд╛рдЧрдд ред

рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк


рдХрд┐рд╕реА рдкреВрд░реНрдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕рднреА рдкреВрд░реНрдгрд╛рдВрдХ рд╕реНрдЯреЗрд╢рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдмрд┐рдЬрд▓реА рдХреА рдиреНрдпреВрдирддрдо рд▓рд╛рдЧрдд рд╣реИред

рдЙрджрд╛рд╣рд░рдг 1

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдирд┐рд╖реНрдХрд░реНрд╖
1
77
0
77

рдЙрджрд╛рд╣рд░рдг 2

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдирд┐рд╖реНрдХрд░реНрд╖
2
11 29
1
1 2 17
28

рдиреЛрдЯ


рд╕реНрдЯреЗрд╢рдиреЛрдВ рдХреЛ рдПрдХ рд╕реЗ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓рд╛рдЗрди рдХреЗ рдЕрдВрджрд░ рдХреЗ рдирдВрдмрд░реЛрдВ рдХреЛ рдПрдХ рд╕рд┐рдВрдЧрд▓ рд╕реНрдкреЗрд╕ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдирд┐рд░реНрдгрдп


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдПрдХ рд╕реБрдВрджрд░ рд╡рд┐рд╡рд░рдг рд╕реЗ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рднрд╛рд░рд┐рдд рдЧреНрд░рд╛рдл рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдЬрд╣рд╛рдВ рд╢рдЯрд▓ рд╕реНрдЯреЗрд╢рдиреЛрдВ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдЪреЛрдЯрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреА, рдХреЗрдмрд▓ рдХрд┐рдирд╛рд░реЛрдВ рдмрди рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рдХреЗрдмрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд▓рд╛рдЧрдд рд╕рдВрдмрдВрдзрд┐рдд рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рд╡рдЬрди рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧреАред рд▓реЗрдХрд┐рди рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдЯреЗрд╢рдиреЛрдВ (рдЪреЛрдЯрд┐рдпреЛрдВ) рдХреЗ рдЕрдВрджрд░ рдпреВрд░реЗрдирд┐рдпрдо рдЬрдирд░реЗрдЯрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд▓рд╛рдЧрдд рдХреЛ рдХреИрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдП? рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рд░ рд╣реИред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рдФрд░ рд╢реАрд░реНрд╖ рд╣реИ - рдКрд░реНрдЬрд╛ рдХрд╛ рдПрдХ рд╕реНрд░реЛрдд рд╣реИ, рдФрд░ рдЗрд╕реА рдХрд┐рдирд╛рд░реЗ рд╕реЗ рдЧреНрд░рд╛рдл рдХреЗ рдХреЛрдиреЗ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛрдиреЗ рддрдХ рдЗрд╕реА рд╕реНрдЯреЗрд╢рди (рд╡рд░реНрдЯреЗрдХреНрд╕) рдореЗрдВ рдПрдХ рдпреВрд░реЗрдирд┐рдпрдо рдЬрдирд░реЗрдЯрд░ рдмрдирд╛рдиреЗ рдХреА рд▓рд╛рдЧрдд рдХреЗ рдмрд░рд╛рдмрд░ рд╡рдЬрди рдХреЗ рд╕рд╛рде рдЦреАрдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдзрд╛рд░рдгрд╛ рд╣рдореЗрдВ рдПрдХ рдЬреБрдбрд╝реЗ рд╣реБрдП рдЧреНрд░рд╛рдл рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рдкреЗрдбрд╝ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рддрд╛рдХрд┐ рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рднрд╛рд░ рдХрд╛ рдпреЛрдЧ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рд╣реЛ рд╕рдХреЗред рдпрд╣ рдПрдХ рдЧреНрд░рд╛рдл рдореЗрдВ рдиреНрдпреВрдирддрдо рдлреИрд▓реЗ рд╣реБрдП рдкреЗрдбрд╝ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рдЖрдк рдХрд┐рд╕реА рднреА рдЬреНрдЮрд╛рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреНрдпреВрдирддрдо рдлреИрд▓реЗ рд╣реБрдП рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рдЗрдорд╛ рдпрд╛ рдХреНрд░рд╕реНрдХрд▓ред

рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдирдореВрдирд╛ рдХреЛрдб
 #include <algorithm> #include <iostream> #include <tuple> #include <vector> using Price = std::size_t; using Vertex = std::size_t; using Transition = std::tuple<Price, Vertex, Vertex>; using Graph = std::vector<Transition>; //        ( ). class Equals { public: //    . explicit Equals(std::size_t size) { equals_.resize(size); //     . for (std::size_t i = 0; i < size; i++) { equals_[i] = i; } } //   v1  v2   true,    //      . bool Emplace(std::size_t v1, std::size_t v2) { while (v1 != v2) { if (v2 < v1) { std::swap(v1, v2); } auto& next_v2 = equals_[v2]; if (next_v2 == v2) { next_v2 = v1; return true; } v2 = next_v2; } return false; } private: std::vector<size_t> equals_; }; int main() { //   . std::size_t vertex_count = 0; std::cin >> vertex_count; if (vertex_count == 0) { std::cout << 0 << std::endl; return 0; } //    тАФ   тАФ   . vertex_count++; //  . Graph graph; graph.reserve(vertex_count); //       . for (Vertex i = 1; i < vertex_count; i++) { Price price = 0; std::cin >> price; graph.emplace_back(price, 0, i); } //    . std::size_t edge_count = 0; std::cin >> edge_count; for (std::size_t i = 0; i < edge_count; i++) { Price price = 0; Vertex from = 0, to = 0; std::cin >> from >> to >> price; graph.emplace_back(price, from, to); } //      . std::sort(graph.begin(), graph.end()); //      . // https://ru.wikipedia.org/wiki/_ Price result = 0; Equals equals{vertex_count}; for (const auto& [price, from, to] : graph) { if (equals.Emplace(from, to)) { result += price; } } //  . std::cout << result << std::endl; return 0; } 

рдХреЛрдИ рдкрд╛рд░реНрдХрд┐рдВрдЧ рдирд╣реАрдВ

рд▓реЗрдЦрдХ: рдЗрд▓реНрдпрд╛ рдореЗрд╕рдЪреЗрд░рд┐рди рдФрд░ рдПрд░реНрдЯреЛрдо рд╕реЗрд░реЗрдмреНрд░реАрд╕реНрдХреА
рд╕рднреА рднрд╛рд╖рд╛рдПрдБрдкрд╛рдпрдерди 3.7.3 рдФрд░ рдкрд╛рдпрдерди 2.7
рд╕рдордп рд╕реАрдорд╛1 рдПрд╕10 рдПрд╕
рдореЗрдореЛрд░реА рдХреА рд╕реАрдорд╛256 рдПрдордмреА
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдорд╛рдирдХ рдЗрдирдкреБрдЯ рдпрд╛ input.txt
рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛рдирдХ рдЙрддреНрдкрд╛рджрди рдпрд╛ output.txt
рдПрдХ рд╢рд╣рд░ рдореЗрдВ, рдПрдХ рдпрд╛рддреНрд░реА рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдХрд╛рд░реЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдордирд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдФрд░ рдпрд╛рддреНрд░реА 3 рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рдордд рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд╢рд╣рд░ рдореЗрдВ, рдПрдХ рдкреИрджрд▓ рдпрд╛рддреНрд░реА рдПрдХреНрд╕ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреИрдХреНрд╕реА рдХрд╛ рдЖрджреЗрд╢ рджреЗрддрд╛ рд╣реИ рдФрд░ 180 рд╕реЗрдХрдВрдб рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдЗрд╕ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдпрд╛рддреНрд░реА рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗред рдпрджрд┐ рдЖрдк рдмрд╣реБрдд рджреЗрд░ рд╕реЗ рдЖрддреЗ рд╣реИрдВ, рддреЛ рдирд╛рд░рд╛рдЬ рдпрд╛рддреНрд░реА рдЖрджреЗрд╢ рдХреЛ рд░рджреНрдж рдХрд░ рджреЗрдЧрд╛ред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рдХрд╛рд░рдг, рдХреЗрд╡рд▓ Z рдбреНрд░рд╛рдЗрд╡рд░ рдЗрд╕ рд╢рд╣рд░ рдореЗрдВ рдмрдиреЗ рд░рд╣реЗ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреА рд╢реБрд░реБрдЖрдд рдЯреНрд░реИрдлрд┐рдХ рдЧреНрд░рд╛рдл рдХреЗ рдХреБрдЫ рд╢реАрд░реНрд╖ рдкрд░ рд╣реИред рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдЪрд╛рд▓рдХ рдирд┐рдпреБрдХреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдбреНрд░рд╛рдЗрд╡рд░ рд╡рд╣ рд╣реИ рдЬреЛ рдЕрдВрддрд░рд╛рд▓ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рдХрд░реАрдм рдСрд░реНрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИред рдпрджрд┐ рдХрдИ рдРрд╕реЗ рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИрдВ, рддреЛ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреАред

рдкреНрд░рддреНрдпреЗрдХ рдЪрд╛рд▓рдХ рдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рдкрд╛рд╕ рд╕рдВрдХреЗрддрд┐рдд рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рд╕рдВрдХреЗрддрд┐рдд рдЕрдВрддрд░рд╛рд▓ рдкрд░ рд╕рдордп рдХреЗ рд╕рдмрд╕реЗ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдкрд░ рд╡рд╣ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИред

рдФрдкрдЪрд╛рд░рд┐рдХ рд╡рд┐рд╡рд░рдг

рджрд┐рдП рдЧрдП:

  1. N рдХреЛрдиреЗ рдФрд░ K рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдУрд░рд┐рдПрдВрдЯреЗрдб рдЧреНрд░рд╛рдл G, рдХреЛрдиреЗ 0 рд╕реЗ N - 1, 0 4 N тЙд 10 4 , 0 тЙд K 4 10 4 рд╣реИрдВ ред рдкреНрд░рддреНрдпреЗрдХ рдХрд┐рдирд╛рд░рд╛ рдЗрд╕рдореЗрдВ рдпрд╛рддреНрд░рд╛ рдХреЗ рд╕рдордп рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ - рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдбрдмреНрд▓реНрдпреВ, 10 тЙд рдбрдмреНрд▓реНрдпреВ onds 10 4 ред
  2. рдЖрдИрдбреА рд▓рдХреНрд╖реНрдп рдХреЙрд▓рдо рдкрд░ рдЖрджреЗрд╢ рдХреА рд╕реНрдерд┐рддрд┐ред
  3. рдХреЙрд▓рдо рдореЗрдВ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреА Z рд╕реНрдерд┐рддрд┐ IDsource 2 , 1 Z Zред 10 4 ред
  4. рд╕рдордп t 0 , 0 0 t 0 0 600 рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╡рд╣ рдЗрд╕ рддрд░рд╣ рдХрд╛ t min рдкрд╛рдП :

  1. рдбреНрд░рд╛рдЗрд╡рд░ IDsource z рд╕реЗ ID рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдРрд╕рд╛ рдорд╛рд░реНрдЧ рд╣реИ рдХрд┐ рдбреНрд░рд╛рдЗрд╡рд░ t min рдкрд░ рдЖрддрд╛ рд╣реИ,
  2. t рдорд┐рдирдЯ тИИ [t 0 ; t 0 + 180],
  3. рдФрд░ рдпрд╣ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рд╕рдВрднрд╡ рд╣реИ рдорд┐рдирдЯ : рдЯреА рдорд┐рдирдЯ for рдореИрдВ рдХрд┐рд╕реА рднреА рдЯреА рдореИрдВ рд╕рдВрддреЛрд╖рдЬрдирдХ рдЕрдВрдХ 1 рдФрд░ 2 рдХреЗ рд▓рд┐рдП,
  4. рдпрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЯреА рдорд┐рдирдЯ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

I / O рдкреНрд░рд╛рд░реВрдк, рдЙрджрд╛рд╣рд░рдг рдФрд░ рдиреЛрдЯреНрд╕

рдЗрдирдкреБрдЯ рдкреНрд░рд╛рд░реВрдк


рдЧреНрд░рд╛рдл рдХреЛ рдЯреНрд░рд┐рдк-рдЯреЙрдк-рдЯреЙрдк-рдПрдВрдб-рдПрдВрдб-рдЯрд╛рдЗрдо-рдЯреНрд░рд┐рдк рдЯреНрд░рд┐рдк рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛, рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдЕрдкрдиреА рд▓рд╛рдЗрди рдкрд░:

1. K рдХрд┐рдирд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред
2. K triples ID ID рд╡рдЬрди - рдкрд╕рд▓реА рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╢реАрд░реНрд╖, рдкрд╕рд▓реА рдХрд╛ рдЕрдВрддрд┐рдо рд╢реАрд░реНрд╖, рдХрд╛рд░ рд░рд┐рдм рдХреЛ рдХрд┐рддрдирд╛ рдЪрд▓рд╛рддреА рд╣реИред
3. рдЖрдИрдбреА рдЯрд╛рд░рдЧреЗрдЯ 0 - рдСрд░реНрдбрд░ рдХреЗ рдКрдкрд░ [рд╕реНрдкреЗрд╕] рд░реЗрдВрдЬ рдХреА рд╢реБрд░реБрдЖрдд рдЬрдм рдЖрдкрдХреЛ рдЖрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
4. рдЬреЗрдб - рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред
5. (Z рдмрд╛рд░) ID z рдЕрдЧрд▓реЗ рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рд╢реАрд░реНрд╖ рд╣реИред

рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк


рдкреНрд░рддреНрдпреЗрдХ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП, рдЙрд╕реА рдХреНрд░рдо рдореЗрдВ рдЬреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдерд╛, рдПрдХ рдЕрд▓рдЧ рд▓рд╛рдЗрди рдкрд░ рдЧрдгрдирд╛ рдХреА рдЧрдИ рдЯреА рдорд┐рдирдЯ рдпрд╛ -1 рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ рдпрджрд┐ рдРрд╕рд╛ рдЯреА рдорд┐рдирдЯ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рдЙрджрд╛рд╣рд░рдг 1

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдирд┐рд╖реНрдХрд░реНрд╖
2
0 1 10
2 3 10
3 0
1
0
-1

рдЙрджрд╛рд╣рд░рдг 2

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдирд┐рд╖реНрдХрд░реНрд╖
2
0 1 10
2 3 10
1 0
1
0
10

рдЙрджрд╛рд╣рд░рдг 3

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдирд┐рд╖реНрдХрд░реНрд╖
1
0 1 10
1 100
1
0
-1

рдиреЛрдЯ


1. рдХрдИ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рд╡рд░реНрдЯреЗрдХреНрд╕ рдП рд╕реЗ рд╡рд░реНрдЯреЗрдХреНрд╕ рдмреА рддрдХ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕рдорд╛рди рд╡рдЬрди рд╡рд╛рд▓реЗ рд▓реЛрдЧ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
2. A рд╕реЗ A рддрдХ рдХреА рдкрд╕рд▓рд┐рдпреЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рд╣реИред
3. рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрд┐рдирд╛рд░реЛрдВ (рдП-> рдмреА) рдФрд░ (рдмреА-> рдП) рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ (рд▓рдВрдмрд╛рдИ 2 рдХреЗ рдЪрдХреНрд░)ред

рдирд┐рд░реНрдгрдп


рд╕рд┐рдВрдЧрд▓ рдбреНрд░рд╛рдЗрд╡рд░

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдПрдХ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдорд╛рдорд▓реЗ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред рдкрд╕рд▓рд┐рдпреЛрдВ рдХрд╛ рдорд╛рдк рд╕рдордп [рдЙрд╕ рдкрд░ рдпрд╛рддреНрд░рд╛] рд╣реИ, рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рдкреНрд░рддрд┐рдмрдВрдз рдПрдХ рд╣реА рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: "рдбреНрд░рд╛рдЗрд╡рд░ рдЧреНрд░рд╛рдл рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрд┐рдВрджреБ рдП рд╕реЗ рдмрд┐рдВрджреБ рдмреА рддрдХ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдиреНрдпреВрдирддрдо рдорд╛рд░реНрдЧ рдЦреЛрдЬреЗрдВ, рдЬрд┐рд╕рдХреА рд▓рдВрдмрд╛рдИ рдЦрдВрдб [T, U] рдореЗрдВ рд╣реИред "

рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ A рд╕реЗ B рддрдХ рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рджреНрд╡рд┐рдЬреНрдпрд╛рд╕реНрддреНрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдП:

  1. рд╕рдВрд╢реЛрдзрди 1. рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдореЗрдВ рдорд┐рдирдХреНрдпреВ рд╕реЗ рд╢реАрд░реНрд╖ рдорд┐рд▓рд╛ рд╣реИ рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рд▓реЗ рд░рдВрдЧ рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЕрд░реНрдерд╛рдд, рдЗрд╕рдХреА рдиреНрдпреВрдирддрдо рджреВрд░реА рдкрд╣рд▓реЗ рд╣реА рдорд┐рд▓ рдЧрдИ рд╣реИ)ред рдлрд┐рд░ рд╣рдо рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдорд╛рдирдХ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдЕрдкрдиреЗ рд╕рднреА рдЖрд╕рдиреНрди рдХреЛрдиреЗ рдХреЛ рдирдИ рджреВрд░реА рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ minQ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВред
  2. рд╣рдо рдЗрд╕реЗ рдХреЗрд╡рд▓ рддрднреА рд░реЛрдХрддреЗ рд╣реИрдВ рдЬрдм рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдЯреЗрдХреНрд╕ рдорд┐рдирдХреНрдпреВ рдХреА рджреВрд░реА рдпреВ рд╕реЗ рдХрдбрд╝рд╛рдИ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред
  3. рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдордиреЗ рдЯреНрд░рд╛рд╡рд░реНрд╕рд▓ рдХреЗ рджреМрд░рд╛рди рдЪреЛрдЯреА рдмреА рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИред рдлрд┐рд░, рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рджреВрд░реА encounter рдЯреА рд╣реИ, рддреЛ рдЗрд╕реЗ рдЙрддреНрддрд░ рдЖрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛рдж рд░рдЦреЗрдВред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рджрд┐рдХреНрд╕реНрдЯреНрд░рд╛ рдХреЛ рднреА рдмрд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрд░ рд╣реИ, рддреЛ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рдиреНрдпреВрдирддрдо рдкрде рд╣реИред

рдХрдИ рдбреНрд░рд╛рдЗрд╡рд░

рдорд╛рдереЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рддреНрдпреЗрдХ рдЪрд╛рд▓рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЪрд▓рд╛рдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╕рдордп рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдХреЗ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рд╣рдореЗрдВ рдУ (1) рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрддрд░ рджреЗрдирд╛ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

  1. рдбреНрд░рд╛рдЗрд╡рд░ рд╕реЗ рдбрд╛рдЗрдЬреЗрд╕реНрдЯреНрд░рд╛ рд╕реЗ рдСрд░реНрдбрд░ рдкреНрд╡рд╛рдЗрдВрдЯ рддрдХ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЗрдиреНрд╡рд░реНрдЯреЗрдб (!) рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЧреНрд░рд╛рдл рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдСрд░реНрдбрд░ рдкреЙрдЗрдВрдЯ рд╕реЗ рдбрд╛рдЗрдЬреЗрд╕реНрдЯреНрд░рд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
  2. рд╣рдо рдЗрд╕ рддрдереНрдп рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдиреЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рднреА рджрд╕ рд╣рдЬрд╛рд░ рддрдХ рд╕реАрдорд┐рдд рдереАред рдЖрдЗрдП рдЖрд░ рдХрд╛ рдПрдХ рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ - рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реАрдорд╛ [рдЯреА, рдпреВ] рдореЗрдВ рдиреНрдпреВрдирддрдо рд╕рдордп рд╣реИ рдЬрдм рдЗрд╕реЗ рдП рд╕реЗ рдкрд╣реБрдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  3. рд╕рдВрд╢реЛрдзрд┐рдд рдбрд╛рдЗрдЬреЗрд╕реНрдЯреНрд░реЛрдп рдХреЗ рдЧреНрд░рд╛рдл рдХреЛ рдЯреНрд░реЗрд╕ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдЬрдм рд╣рдо рд╢реАрд░реНрд╖ рдЬреЗ рд╕реЗ рдорд┐рд▓рддреЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рджреВрд░реА рд╡рд╛рдВрдЫрд┐рдд рдЕрдВрддрд░рд╛рд▓ [рдЯреА, рдпреВ] рдореЗрдВ рд╣реИ, рддреЛ рд╣рдо рдЖрд░: рдЖрд░ рдЬреЗ = рдорд┐рдирдЯ (рдЖрд░ рдЬреЗ , рдбрд┐рд╕реНрдЯ) рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВред

рдлрд┐рд░, рд╡рд░реНрдЯрд┐рдХрд▓ J рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП, R J рдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рд╣реИ рдЬреЛ рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреА рд▓рдВрдмрд╛рдИ рдХреНрдпрд╛ рд╣реИред

рдиреНрдпреВрдирддрдо рдЕрдиреБрдХреВрд▓рди

рдкрде рдХреА рд▓рдВрдмрд╛рдИ рд╣рдореЗрд╢рд╛ рдкреВрд░реНрдгрд╛рдВрдХ рдФрд░ 781 рд╕реЗ рдКрдкрд░ рддрдХ рд╕реАрдорд┐рдд рд╣реЛрддреА рд╣реИ - рдПрдХ рдСрд░реНрдбрд░ рдХреЗ рд▓рд┐рдП рдЬреЛ 0 0 = 600 рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдЖрдЧрдорди рдХрд╛ рдЕрдВрддрд┐рдо рд╡реИрдз рджреВрд╕рд░рд╛ рдирдВрдмрд░ 780 рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рджрд┐рдХреНрд╕реНрдЯреНрд░рд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдорд┐рдирдХреНрдпреВ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдХрд╛рд░ рдХрд╛ рдлреНрд░рд┐рдВрдЬ рд╕рд░рдгреА рд╣реИ [781]ред рдлреНрд░рд┐рдВрдЬ i рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдореЗрдВ рдПрдХ unordered_set рд╣реИ рдЬреЛ рд╕рднреА рд╡рд░реНрдЯрд┐рдХрд▓ рдХреА рдЖрдИрдбреА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд▓рдВрдмрд╛рдИ i рдХрд╛ рдорд╛рд░реНрдЧ рд╣реИред

1. рджреВрд░реА рдбреА рдХреЗ рд╕рд╛рде рдПрдХ рд╢реАрд░реНрд╖ рдЬреЛрдбрд╝реЗрдВ:

 fringe[D].insert(vertex); 

2. рд╢рд░реНрддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдХрд┐рдирд╛рд░реЗ рдХрд╛ рдиреНрдпреВрдирддрдо рд╡рдЬрди> 0 рд╣реИред рдЗрд╕рд▓рд┐рдП, рдПрдХ рдмрд╛рд░ рдореЗрдВ рдиреНрдпреВрдирддрдо рдПрдХ рд╕реЗ рддрддреНрд╡реЛрдВ рдХреЛ рд▓реЗрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдкреВрд░реЗ рд╕реНрд▓рд╛рдЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

 for(int i = 0; i < fringe.size(); ++i) { if(fringe[i].empty()) { continue; } for(auto& vertex : fringe[i]) { // Do some stuff ProcessVertex(vertex, i); } } 

рдЯреНрд░рд┐рдк рд▓рд╛рдЧрдд рдХреИрд▓рдХреБрд▓реЗрдЯрд░

рд▓реЗрдЦрдХ: рдирд┐рдХреЛрд▓реЗ рдлрд┐рд▓реНрдЪреЗрдВрдХреЛ
рд╕рднреА рднрд╛рд╖рд╛рдПрдБрдкрд╛рдпрдерди 3.7.3 рдФрд░ рдкрд╛рдпрдерди 2.7
рд╕рдордп рд╕реАрдорд╛3 рдПрд╕65 рд╕реА
рдореЗрдореЛрд░реА рдХреА рд╕реАрдорд╛64 рдПрдордмреА256 рдПрдордмреА
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдорд╛рдирдХ рдЗрдирдкреБрдЯ рдпрд╛ input.txt
рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛рдирдХ рдЙрддреНрдкрд╛рджрди рдпрд╛ output.txt
рджрд┐рдП рдЧрдП рд╕реВрддреНрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдпрд╛рддреНрд░рд╛ рдХреА рд▓рд╛рдЧрдд рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдпрд╛рддреНрд░рд╛ K рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рдлреЙрд░реНрдореВрд▓рд╛ рд░рд┐рд╡рд░реНрд╕ рдкреЛрд▓рд┐рд╢ рдиреЛрдЯреЗрд╢рди рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЕрдиреБрдордд рдХрд╛рд░реНрдп:

  • + - - рдЬреЛрдбрд╝ рдФрд░ рдШрдЯрд╛рд╡;
  • * / - рдЧреБрдгрд╛ рдФрд░ рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд┐рднрд╛рдЬрди;
  • <= - рддреБрд▓рдирд╛;
  • ? - рд╕рд╢рд░реНрдд рд╕рдВрдЪрд╛рд▓рдХред рдпрджрд┐ рдкрд╣рд▓рд╛ рддрд░реНрдХ рд╕рддреНрдп рд╣реИ - рджреВрд╕рд░рд╛ рддрд░реНрдХ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ - рддреАрд╕рд░рд╛ред

рдЪрд░-рдЕрдЬрд╝ [рдФрд░] резреж реп рд╕реЗ резреж реп рддрдХ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рднреА рд╕реВрддреНрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ ред

рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕реВрддреНрд░ рдореЗрдВ рд╕рднреА рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдирд┐рд░рдкреЗрдХреНрд╖ рдорд╛рди рдореЗрдВ 10 9 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИрдВред рддреБрд▓рдирд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреЗрд╡рд▓ рд╕рд╢рд░реНрдд рдСрдкрд░реЗрдЯрд░ рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

I / O рдкреНрд░рд╛рд░реВрдк рдФрд░ рдЙрджрд╛рд╣рд░рдг

рдЗрдирдкреБрдЯ рдкреНрд░рд╛рд░реВрдк


рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдкрд░, рдПрдХ рдирдВрдмрд░ 1 тЙд K line 26 - рдЪрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ред

рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХрд╛ рд╕реВрддреНрд░ рд╣реИ ( 3 410 4 рддрддреНрд╡реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ)ред рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рддреАрд╕рд░реА рдкрдВрдХреНрддрд┐ рдкрд░, 1 тЙд N third 10 4 рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред

рдЕрдЧрд▓реА N рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ K рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИрдВ (рдкреНрд░рддреНрдпреЗрдХ -10 9 тЙд v) 10 9 ) - рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреНрд░рдо рдореЗрдВ рдЪрд░ рдХреЗ рдорд╛рдиред

рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк


рдПрди рдкреВрд░реНрдгрд╛рдВрдХ рдпреБрдХреНрдд рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ - рдорд╛рди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдЯ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рдкрд░рд┐рдгрд╛рдоред рдпрд╣ рдЧрд╛рд░рдВрдЯреА рд╣реИ рдХрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкрд░рд┐рдорд┐рдд рдФрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ

рдЙрджрд╛рд╣рд░рдг 1

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдирд┐рд╖реНрдХрд░реНрд╖
1
a 2 2 + *
2
2
3
8
12

рдЙрджрд╛рд╣рд░рдг 2

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдирд┐рд╖реНрдХрд░реНрд╖
2
ab < 5 14 ?
2
10 5
5 10
14
5

рдирд┐рд░реНрдгрдп


рдпрд╣ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдп рд╣реИред рд╕рдорд╛рдзрд╛рди рдореЗрдВ рджреЛ рдореБрдЦреНрдп рдмрд┐рдВрджреБ рд╣реИрдВ:

  1. рдореВрд▓ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╕реНрд╡рдпрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЪрд░ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдЯ рдореЗрдВ рдкрд╛рд░реНрд╕ рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
  2. рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╢реВрдиреНрдп рд╕реЗ рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд┐рднрд╛рдЬрди SIGFPE рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рднрд╛рдЬрди рдСрдкрд░реЗрд╢рди рдореЗрдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЬрд╛рдБрдЪрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рднрд╛рдЬрдХ рд╢реВрдиреНрдп рдирд╣реАрдВ рд╣реИред рд╕рдВрдкреВрд░реНрдг рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рд╢реБрджреНрдзрддрд╛ рдФрд░ рдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ: рдРрд╕реЗ рд╡рд┐рднрд╛рдЬрдиреЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕рд╢рд░реНрдд рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреА рдЕрдкреНрд░рдпреБрдХреНрдд рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рднреА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢реВрдиреНрдп) рдХреЗ рд╕рд╛рде рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ Habraposty:

Source: https://habr.com/ru/post/hi483624/


All Articles