рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХрддрдо, рд╕рд╛рдорд╛рдиреНрдп рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╕рдорд╛рдирд╛рдВрддрд░ рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ C ++ (C ++ 11) рдореЗрдВ рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдореИрдВрдиреЗ рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рдЪреМрд░рд╛рд╣реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдирд╛рдВрддрд░ рдЦреЛрдЬ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рджреЛ рдЗрдЪреНрдЫрд╛рдУрдВ рдиреЗ рдореБрдЭреЗ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛:

  1. рд╕рднреА рджрд┐рд▓рдЪрд╕реНрдк рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдФрд░ C ++ (C ++ 11 рдорд╛рдирдХ) рдореЗрдВ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ;
  2. рдкрддрд╛ рд▓рдЧрд╛рдПрдБ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдПрдХ рдирд╛рдо рдФрд░ / рдпрд╛ рдФрдкрдЪрд╛рд░рд┐рдХ рд╡рд┐рд╡рд░рдг рд╣реИ;


рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕


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

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди


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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ:

S1 = ABCCA
S2 = ACCABABCCBAABCBAABCBACBACBACBAC
рдо = реи

рддреЛ рдЙрддреНрддрд░ рд╣реЛрдЧрд╛:
0 3 5 8

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

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

рд╣рдо рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд░ рдХреНрдпрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
  1. рдПрд╕ 1 , рдПрд╕ 2 - рджреЛ рд▓рд╛рдЗрдиреЗрдВ рдЬрд┐рд╕рдореЗрдВ рдЦреЛрдЬ рдХрд░рдирд╛ рд╣реИ;
  2. рдПрдо рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреА рдиреНрдпреВрдирддрдо рд╕рдВрднрд╡ рд▓рдВрдмрд╛рдИ рд╣реИ;
  3. K рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬреЛ рд╕рдорд╛рдирд╛рдВрддрд░рдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;


рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо


рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ 3 рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВ:
  1. S1 рдХреЛ рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рд╕рдВрднрд╡ (рд▓рдВрдмрд╛рдИ M ) рдЦрдВрдбреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВред
  2. S2 рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЧрдореЗрдВрдЯред
  3. рдкреНрд░рд╛рдкреНрдд рдкреНрд░рдХреНрд╖реЗрдкрдг рдкрд░, рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕рдВрднрд╡ рд╕рдмрд╕реЗрдЯ (рд▓рдЧрд╛рддрд╛рд░ рдЦрдВрдбреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдпреБрдХреНрдд) рдЦреЛрдЬреЗрдВред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

S1 = ABCCA
S2 = ACCABABCCBAABCBAABCBACBACBACBAC
рдо = реи
рдХреЗ = реи

1) рдЦрдВрдбреЛрдВ рдореЗрдВ S1 рдХреЛ рддреЛрдбрд╝реЗрдВ, рд▓рдВрдмрд╛рдИ M = 2 рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ:
рдПрдмреА , рдмреАрд╕реА , рд╕реАрд╕реА , рд╕реАрдП

2) S2 рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдгрд╛рдореА рдЦрдВрдб рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░реЗрдВ:

рдЫрд╡рд┐

рдпрд╛ рдСрдлрд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ:

рдЫрд╡рд┐

рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ S1 рд╕реЗ S2 рдХрд╛ рдкреНрд░рдХреНрд╖реЗрдкрдг рдорд┐рд▓рддрд╛ рд╣реИ:

рдЫрд╡рд┐

рдЕрдм рд╕реЗ рд╣рдо рдЗрд╕ рдкреНрд░рдХреНрд╖реЗрдкрдг рдХреЛ рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╣реЗрдВрдЧреЗред

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

3) рд╣рдо рдЕрдзрд┐рдХрддрдо рд╕рдмрд╕реЗрдЯ (рдЦрдВрдбреЛрдВ рдХрд╛ рд╕рдореВрд╣) рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдк рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд░реВрдк рдореЗрдВ рдЪреМрд░рд╛рд╣реЗ рдХреЗ рдирдХреНрд╢реЗ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдк рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рдЙрдкрд╕рдореБрдЪреНрдЪрдп рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

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

рдЫрд╡рд┐

рдпрд╛рдиреА 5 рдХреЗ рд╕рдордиреНрд╡рдп рдХреА рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рдмрд╕реЗрдЯ рдХреА рд▓рдВрдмрд╛рдИ = 4 рдХреА рдЕрдзрд┐рдХрддрдо рд▓рдВрдмрд╛рдИ рд╣реИ, 3 рдХреЗ рд╕рдордиреНрд╡рдп рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗрдЯ рдХреА рд▓рдВрдмрд╛рдИ 2 рд╣реЛрдЧреА, рдЖрджрд┐ред

рдЗрд╕реА рддрд░рд╣, рдЪреМрд░рд╛рд╣реЗ рдХреЗ рдирдХреНрд╢реЗ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЦрдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рд╣рдо рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдзрд┐рдХрддрдо рд▓рдВрдмреЗ рдЙрдкрд╕рдореБрдЪреНрдЪрдп рдХреНрд░рдорд╢рдГ S1 рдФрд░ S2 : 0 рдФрд░ 5 рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд╕рд╛рде рд▓рдВрдмрд╛рдИ 4 рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рд╣реИред

рд╕рд╛рде рдореЗрдВ рдЪрд▓рд╛рдирд╛


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг (рдЪрд░рдг 1, 2, 3) рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдореИрдк-рд░рд┐рдбреНрдпреВрд╕ рд╕рдВрднрд╡ рд╣реИред

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

рдЫрд╡рд┐

3.1) рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рдХреЛ рдЕрдкрдирд╛ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ (n) рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, nth рд╕реНрдЯреНрд░реАрдо, nth рд╕реНрдерд┐рддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдкреНрд░рддреНрдпреЗрдХ Kth рддрддреНрд╡ рдХреЛ рдЪреМрд░рд╛рд╣реЗ рдХреЗ рдирдХреНрд╢реЗ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдЪреМрд░рд╛рд╣реЗ рдХреЗ рдирдХреНрд╢реЗ рдХреЛ рдХрдИ (рдкреНрд░рд╡рд╛рд╣ рдХреА рд╕рдВрдЦреНрдпрд╛) рднрд╛рдЧреЛрдВ рдореЗрдВ рддреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред рдЗрди рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ, рдЕрдзрд┐рдХрддрдо рдЙрдкрд╕рдореВрд╣ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИ:

рдЫрд╡рд┐

3.2) рд╕рднреА рдереНрд░реЗрдбреНрд╕ рдкреВрд░реЗ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рд╕рдмрд╕реЗрдЯ рдХреЗ рдХрдИ рд╕рдореВрд╣ рдорд┐рд▓реЗрдВрдЧреЗред рдкреНрд░рд╛рдкреНрдд рд╕рдореВрд╣реЛрдВ рд╕реЗ, рдЕрдзрд┐рдХрддрдо рд╕реЗрдЧрдореЗрдВрдЯ рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓реЗ рд╕рдореВрд╣ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпреЗ рджреЛ рд╕рдореВрд╣ рд╣реИрдВ: рдзрд╛рд░рд╛ # 1 рджреНрд╡рд╛рд░рд╛ рдЧрдард┐рдд рдПрдХ рд╕рдореВрд╣, рдЬрд┐рд╕рдореЗрдВ рд▓рдВрдмрд╛рдИ рдореЗрдВ 3 рд╡рд░реНрдгреЛрдВ рдХреЗ рдЦрдВрдб рд╣реЛрддреЗ рд╣реИрдВ (рджрд┐рд╢рд╛-рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде: 0; 11 рдФрд░ 1; 6 ), рдФрд░ рдзрд╛рд░рд╛ # 2 рджреНрд╡рд╛рд░рд╛ рдЧрдард┐рдд рдПрдХ рд╕рдореВрд╣, рдЬрд┐рд╕рдореЗрдВ 4 рд╡рд░реНрдгреЛрдВ рдХрд╛ рдПрдХ рдЦрдВрдб рд╣реЛрддрд╛ рд╣реИред (рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ 0; 5 рдХреЗ рд╕рд╛рде)ред рдЪреВрдВрдХрд┐ рджреВрд╕рд░реЗ рд╕рдореВрд╣ рдореЗрдВ рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рдЦрдВрдб рдХреА рд▓рдВрдмрд╛рдИ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕рдореВрд╣ рдХреЛ рддреБрд░рдВрдд рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирддреАрдЬрддрди, рд╣рдореЗрдВ рд╕рдмрд╕реЗрдЯ ( 0; 5 ) рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдорд┐рд▓реЗ рдФрд░ рдЗрд╕рдХреА рд▓рдВрдмрд╛рдИ 4 рд╣реИ ред рдЕрдВрддрд┐рдо рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕реВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: end_coord = start_coord + len - 1ред

рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣рдореЗрдВ рдЙрддреНрддрд░ рдорд┐рд▓рддрд╛ рд╣реИ: 0 3 5 8 ред

рдирд┐рд╖реНрдХрд░реНрд╖


рдореИрдВрдиреЗ C ++ рдореЗрдВ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рд╡рд░рдг рдкрд░ рдирд╣реАрдВ рдЫреВрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИред рдЬреАрд╕реАрд╕реА рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рдЖрдк рдпрд╣рд╛рдВ C ++ (C ++ 11) рдореЗрдВ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ , -pthread рдФрд░ -std = c ++ 0X рдЭрдВрдбреЗ рд╕реЗрдЯ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред

рд╕рд╡рд╛рд▓


рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд╛рдо рдФрд░ / рдпрд╛ рдФрдкрдЪрд╛рд░рд┐рдХ рд╡рд┐рд╡рд░рдг рд╣реИ?

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


All Articles