
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ
Google AI рдЪреИрд▓реЗрдВрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдмреЙрдЯ рд▓рд┐рдЦрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдКрдВрдЧрд╛ред рдпрд╣ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ рдХрд┐ рдПрдЖрдИ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЬрдЯрд┐рд▓ рддрдХрдиреАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рдФрд░ рдореВрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реА ++ рдореЗрдВ рдХреЛрдб рдХреА рдПрдХ рд╣рдЬрд╛рд░ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИред рддрд░реАрдХреЛрдВ рдХреЛ рдЦреБрдж рдХреЛ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЬреЗрдиреЗрд░рд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрдирдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдк рдПрдХ рдмреЙрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХреБрдЫ рд░рдгрдиреАрддрд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрднрд╡рддрдГ рдмреЗрд╣рддрд░ рднреА рдЦреЗрд▓реЗрдВрдЧреЗред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ - рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА "рддреНрд╡рд░рд┐рдд рд╢реБрд░реБрдЖрдд" рдЬреЛ рдЕрднреА рддрдХ рд╡рд┐рдлрд▓ рд░рд╣реЗ рд╣реИрдВред
1. рдПрдЖрдИ рдЪреИрд▓реЗрдВрдЬ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХрд╛ рдХреБрдЫ рдЕрдиреБрднрд╡
рдПрдЖрдИ рдЪреИрд▓реЗрдВрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдиреНрдп рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ "рд╕реНрдерд╛рдиреАрдп" рд░реЗрдЯрд┐рдВрдЧ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╡рд╛рд▓ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБред
1. рдмреЙрдЯ рдХреА рд░реЗрдЯрд┐рдВрдЧ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдЕрдиреНрдп рдмреЙрдЯреНрд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЦреЗрд▓реЛрдВ рдореЗрдВ рдЗрд╕рдХреА рд╕рдлрд▓рддрд╛ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдХреМрд╢рд▓ рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд╕рд╛рдкреЗрдХреНрд╖ рдореВрд▓реНрдп рд╣реИ, рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рдмрд╛рдж рд╕рд░реНрд╡рд░ рдкрд░ рдЗрд╕реЗ рд╢реВрдиреНрдп рдкрд░ рд░реАрд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛)ред
2. рдкреНрд░рддреНрдпреЗрдХ рд╕рдлрд▓ рдЦреЗрд▓ рдореЗрдВ рдЬрдЧрд╣ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреМрд╢рд▓ рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░рд╛рд╢рд┐ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИ (рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдЦреЗрд▓ рдХрд╛ рд▓рдХреНрд╖реНрдп рдПрдХ рд╡рд┐рд╢рд╛рд▓ "рдХреЙрд▓реЛрдиреА" рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдХреЗ "рднреЛрдЬрди" рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рджреБрд╢реНрдорди рдПрдВрдерд┐рд▓ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдирд╛ рд╣реИ) рдФрд░ рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рдХреМрд╢рд▓ - рдФрд░ рдЦреЗрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рддрдиреА рдмрдбрд╝реА рд╣реИ, рдЙрддрдирд╛ рдХрдо рд╣реИред рдпрд╣ рд╡реЗрддрди рд╡реГрджреНрдзрд┐; рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдХрдордЬреЛрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реЗ рдЧрд▓рддреА рд╕реЗ (рдкрд╣рд▓реЗ) рд╣рд╛рд░рдиреЗ рд╕реЗ рдХреМрд╢рд▓ рд╡реГрджреНрдзрд┐ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдзреАрдореА рд░рд╣реЗрдЧреАред
3. рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░реЗрдЯрд┐рдВрдЧ рдХреЗ рд▓рдЧрднрдЧ рд╕реНрдерд┐рд░реАрдХрд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдореЗрдВ рд▓рдЧрднрдЧ 5-7 рджрд┐рди рд▓рдЧрддреЗ рд╣реИрдВ ("рдореИрдЪ" рджреБрд░реНрд▓рдн рд╣реИрдВ)ред
рдпрд╣ рдкреВрд░реНрд╡рдЧрд╛рдореА рд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ рдХрд┐ "iteratively" рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд┐рдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдмреЙрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдмрд╣реБрдд рд╣реА рдЙрдЪрд┐рдд рд╣реИ, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреИрдХреЗрдЬ рдЕрдкрдЧреНрд░реЗрдб рдкрд░ рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред
рдкреНрд░рддрд┐ рдХрджрдо рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛: 500 рдПрдордПрд╕, рдФрд░ рдЯрд░реНрдирдЯрд╛рдЗрдо рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдереНрд░реЗрд╢реЛрд▓реНрдб рд╕реЗ рдХрдо рд╕реЗ рдХрдо 50 рдПрдордПрд╕ рджреНрд╡рд╛рд░рд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рддреЗрдЬреА рд╕реЗ рдкреВрд░рд╛ рдХрд░рдирд╛ рдмреЗрд╣рдж рд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рдЕрдиреНрдпрдерд╛ I / O рдмрдлрд░рд┐рдВрдЧ (рд╕рднреА рдЧреЗрдо рдбреЗрдЯрд╛ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИ), рдФрд░ рдХрднреА-рдХрднреА рдордЬрд╛рдХрд┐рдпрд╛ рдмрд╛рддреЗрдВ рдмрд╛рд╣рд░ рдЖрдиреЗ рдХреЗ рдХрд╛рд░рдг рдмрд╣реБрдд рд╕рдордп рд▓рдЧрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ:

рдореЗрдореЛрд░реА рд╕реАрдорд╛ 2GB (рдПрдХ 32 рдмрд┐рдЯ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреА рд╕реАрдорд╛) рд╣реИ, рдпрд╣ 1.5GB рдореЗрдореЛрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛рддреА рд╣реИ ("рд╡рд╛рджрд╛" рдХреЗ рд░реВрдк рдореЗрдВ рдкрдврд╝рдиреЗ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ), рдЬреЛ рд╕реНрд╡реИрдк рдлрд╝рд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛ рдлреИрд▓ рдирд╣реАрдВ рд╣реЛрдЧреАред рдпрд╣ рдПрдХ рдХрд╛рдлреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╣реИ (200 рд╕реЗ 200 рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдХрд╛рд░реНрдб рдХреЗ рд▓рд┐рдП - рд╡рд╣), рдЬреЛ рдЖрдкрдХреЛ рд╕реАрдзреЗ рдордзреНрдпрд╡рд░реНрддреА рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдХреИрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреА рд╣реИ, рдЬреЛ рд╣рдо рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрде рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗред
2. рдкрде рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
"рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ" рдХреА рд░рдгрдиреАрддрд┐ рдХрд┐рддрдиреА рдЕрдЪреНрдЫреА рд╣реЛрдЧреА, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЛ "рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ" рднреВрд▓рднреБрд▓реИрдпрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ "рдЪрд▓рдирд╛" рди рд╣реЛред рдЕрдиреБрднрд╡ рд╕реЗ, рдПрдХ рд░рд╛рд╕реНрддрд╛ рдЦреЛрдЬрдиреЗ рдХреА рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣рдореЗрд╢рд╛ рдПрдХ рдЕрдЪреНрдЫреА рд░рдгрдиреАрддрд┐ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк "рдЕрдирдиреНрдп OR" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ; рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рдФрд░ рд╡рд╣ рджреЛрдиреЛрдВред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХрд╣рд╛рдВ рдЬрд╛рдирд╛ рд╣реИ (рд╣рдо рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ), рдФрд░ рд╣рдореЗрдВ рдХрд┐рд╕ рдЪреАрдВрдЯреА рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЧрддрд┐ рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рджрд┐рд╢рд╛ (рдПрди, рдИ, рдПрд╕, рдбрдмреНрд▓реНрдпреВ) рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХрдорд╛рдВрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рдХреНрд╖реНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рдкрде рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ "рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЖрдВрджреЛрд▓рдиреЛрдВ" рдХреЗ рд╕рд╛рде рдкреВрд░реЗ рдирдХреНрд╢реЗ рдХреЛ рдХрд╡рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рджреБрд╢реНрдорди рд╣рдореЗрдВ рдмрд╣реБрдд рдкрд╣рд▓реЗ рд╣реА рдирд╖реНрдЯ рдХрд░ рджреЗрдЧрд╛)ред

рдпрджрд┐ рдорд╛рдирдЪрд┐рддреНрд░ рдореЗрдВ "рдЬрд▓" (рдЧрд╣рд░реЗ рдиреАрд▓реЗ рд░рдВрдЧ рдХреА рдХреЛрд╢рд┐рдХрд╛рдПрдВ) рдХреЗ рдЕрднреЗрджреНрдп рдЦрдВрдб рдирд╣реАрдВ рдереЗ, рддреЛ рдХрд╛рд░реНрдп рддреБрдЪреНрдЫ рд╣реЛрдЧрд╛; "рдЪреАрдВрдЯреА" рдФрд░ "рдкрд╛рдиреА" рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реА рд▓рд╛рд▓ рд░реЗрдЦрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдХреНрдпреЛрдВрдХрд┐ рдЪреВрдВрдХрд┐ рдПрдХ рдЪреАрдВрдЯреА рдЪрд╛рд░ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкрд┐рдВрдЬрд░реЗ рдореЗрдВ рдЪрд▓ рд╕рдХрддреА рд╣реИ, рд╡рд╕реНрддреБ рдХреА рджреВрд░реА (рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░)
рдореИрдирд╣рдЯреНрдЯрди рджреВрд░реА рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рдпрджрд┐ рд╣рдо рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рд╡реЗрддрди рд╡реГрджреНрдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдкрде рд╣рдореЗрд╢рд╛ рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░реЗрдЧрд╛ред рд▓рдХреНрд╖реНрдп рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ (X1, y1) рд╕реЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ (x0, y0) рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реЗ рдШрдЯрд╛рдПрдВ рдФрд░ X рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдЪрд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ (- X1-x0 |) рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ: рд╕рд╛рдЗрди рдЗрди рдХрд░реЗрдВ (X1-x0) рдФрд░ рд╕рдВрдЦреНрдпрд╛ (Y- y1-y0ред) Y рдореЗрдВ: рд╕рдВрдХреЗрдд (y1-y0) рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рдгреАред

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

рдмрд╛рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ? рдпрд╣рд╛рдВ рд╡реЗрд╡ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣рдорд╛рд░реА рдорджрдж рдХрд░реЗрдЧрд╛: рд╣рдо рдПрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдлрд╝реАрд▓реНрдб рдХрд╛ рдЖрдХрд╛рд░ рд▓реЗрддреЗ рд╣реИрдВ, рд▓рдХреНрд╖реНрдп рд╕реЗрд▓ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ (0 рд▓рд┐рдЦрддреЗ рд╣реИрдВ) рдФрд░ рдлрд┐рд░ рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рджрд╛рдИрдВ рдУрд░ рдХреА рдЫрд╡рд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рднрд░рддреЗ рд╣реИрдВ (рд╣рдо рдХреЗрд╡рд▓ рдЙрди рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдХреЛрдИ (рдпрд╛ рдЕрднреА рддрдХ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ) "рдкрд╛рдиреА" )ред рдЗрди рдорд╛рдиреЛрдВ рдХрд╛ рдЕрд░реНрде рд▓рдХреНрд╖реНрдп рд╕реЗрд▓ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЪрд╛рд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдпрд╣ рд╕рд╣реА рд╣реИ, рдЬреИрд╕реЗ рд╣реА рд╣рдо рдЙрд╕ рд╕реЗрд▓ рддрдХ рдкрд╣реБрдБрдЪрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░рд╛ рдЪреАрдВрдЯреА рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╕реНрдерд┐рдд рд╣реИ, рд╣рдо рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдкрде рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ - рдЙрди рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЪрд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдорд╛рди рдХрдо рд╣реЛ рдЧрдП рд╣реИрдВред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо O (рдХрд░реНрдирд▓ * рдкрдВрдХреНрддрд┐рдпреЛрдВ) рдХреЗ рджреМрд░рд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдмрд╣реБрдд рд╣реИ рдпрд╛ рдереЛрдбрд╝рд╛ рд╣реИ? рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, | cols |; рдкрдВрдХреНрддрд┐рдпреЛрдВ | <= 200, рдЖрдк рд╕рднреА рдХреЛ 1000 рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рджрд┐рд╢рд╛-рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧреЗрдо рдореЗрдВ рдХрднреА рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИрдВ), рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд▓рдХреНрд╖реНрдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ 200 ^ 2 * 1000 * 100, рдпрд╣ 4 рдмрд┐рд▓рд┐рдпрди рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдореЗрдореЛрд░реА рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ 500ms рдкрд░ рдпрд╣ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИред
рдлрд┐рд░ рдРрд╕рд╛ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреНрдпреЛрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ? рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдХрд┐рд╕реА рднреА рдордзреНрдпрд╡рд░реНрддреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдорд╛рд░реНрдЧ рдкреНрд░рд╢рд╕реНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдЖрдк рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдУ (рдХреЛрд▓реНрд╕ * рдкрдВрдХреНрддрд┐рдпреЛрдВ) рдХреЗ рдЪрд░рдгреЛрдВ (рдкреВрд░реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ "рд╕рд░реНрдкрд┐рд▓") рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдп рдПрдХ рдРрд╕реА рд╡рд┐рдзрд┐ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдордзреНрдпрд╡рд░реНрддреА рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдХреНрд╖реЗрддреНрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдПрдХ рдЪрд╛рд▓ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд╣ рдкрд╣рд▓реА рдЪрд╛рд▓ рдкрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдФрд░ рдЪреАрдВрдЯрд┐рдпрд╛рдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИрдВред
рд╣рдо рдХреНрдпрд╛ рдпрд╛рдж рдХрд░реЗрдВрдЧреЗ? рдкреНрд░рддреНрдпреЗрдХ рд▓рдХреНрд╖реНрдп рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рддрд░рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдкреВрд░реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕:
char * WaveMaps[MAX_X][MAX_Y]; //
WaveMaps[x][y] = new char [MAX_X*MAX_Y]; //
рдореБрдЭреЗ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рд╣реИ рдХрд┐ WaveMaps [x] [y] рдХреЛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ (x, y) рдХреЗ рд╕рд╛рде рд▓рдХреНрд╖реНрдп рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ; рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпреЗ рд╕рднреА рдЗрд╕ рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдорд╛рд░реНрдЧ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдкрд╛рдиреА рд╡рд╛рд▓реА рдХреЛрд╢рд┐рдХрд╛рдПрдВ рд▓рдХреНрд╖реНрдп рдирд╣реАрдВ рд╣реЛрдВрдЧреА (рдЙрдирдореЗрдВ рдХреЛрдИ рд╕рдордЭрджрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдк рдмрд╕ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ), рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрд╢рд┐рдХрд╛рдПрдВ рдЬреЛ рдХрд┐рд╕реА рднреА рдЪреАрдЬ (рднреЛрдЬрди, рдЪреАрдВрдЯрд┐рдпреЛрдВ, рдПрдВрдерд┐рд▓реНрд╕) рд╕реЗ рднрд░реА рдирд╣реАрдВ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИрдВ - рдЙрдиреНрд╣реЗрдВ рдЖрд░рдВрднреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдЪрд╛рд▓ рдореЗрдВ, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдЪреАрдВрдЯреА рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдУрд╡рд░рд╣реЗрдб рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдмрд┐рдВрджреБ рддрдХ рдкрдереЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдХреМрди рд╕рд╛ рддреЗрдЬрд╝ рд╣реЛрдЧрд╛ (рдкрд╣рд▓реА рдмрд╛рд░ рдЬрдм рд╣рдо рдирдХреНрд╢реЗ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ - рддрдм рд╣рдо рдХреИрд╢ рдореЗрдВ рджрд┐рдЦрддреЗ рд╣реИрдВ)ред
рдЕрдЧрд▓реА рдЪрд╛рд▓ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдЦреЗрд▓ рдХреЗ рджреМрд░рд╛рди, рдЪреАрдВрдЯрд┐рдпрд╛рдБ рдореИрджрд╛рди рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдорддреА рд╣реИрдВ, "рдирдИ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рдЦреЛрдЬ" - рд╢реБрд░реВ рдореЗрдВ рд╣рдо рднреВрд▓рднреБрд▓реИрдпрд╛ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рднрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ рд╣рдореЗрдВ рднреЛрдЬрди, рдкрд╛рдиреА, рджреБрд╢реНрдорди рдЪреАрдВрдЯрд┐рдпреЛрдВ, рдПрдВрдерд┐рд▓ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдЬрдм рдПрдХ рдирдпрд╛ "рдкрд╛рдиреА" рд╕реЗрд▓ рдХреА рдЦреЛрдЬ рдХреА рдЬрд╛рддреА рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ "рдкрд╛рдиреА" рдХрд╛ рдкрддрд╛ рдХреИрд╕реЗ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреНрд╖реЗрддреНрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдПрдХ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдХрджрдо рдкрд░ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдЧреЗрдо рд░рд╛рдЬреНрдп рдФрд░ рд╕рд╣реЗрдЬреЗ рдЧрдП рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдареАрдХ рд╣реИ, рд╣рдордиреЗ рдкрд╛рдиреА рдХреЛ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд╛рдпрд╛ (X1, y1)ред рдлрд┐рд░ рдЖрдкрдХреЛ рдЙрди рд╕рднреА рдХрд╛рд░реНрдбреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдерд┐рддрд┐ (X1, y1) рдХрд╛ рдорд╛рди рдЪрд░рдг рд╕рдВрдЦреНрдпрд╛ (рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдирд╣реАрдВ) рд╕реЗ рднрд░рд╛ рд╣реИред
рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╕рднреА рдХрд╛рд░реНрдб рдЯреВрд▓ рдкреИрдХреЗрдЬ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рд╣рдо рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рддрд░рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд▓рд┐рдП рдореЗрдЯреНрд░рд┐рд╕реЗрд╕ рдХреЗ рдкреБрдирд░реНрдирд┐рд╡реЗрд╢реАрдХрд░рдг (рдкреБрдирдГ рдЧрдгрдирд╛) рдХрд╛ рдХрд┐рддрдирд╛ рдкреНрд░рддрд┐рд╢рдд рд╣рдореЗрдВ рдЙрдореНрдореАрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдкрд░рд┐рдгрд╛рдо: 100%ред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдкреВрд░реЗ рдЦреЗрд▓ рдореИрджрд╛рди рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирдХреНрд╢реЗ рдмрдирд╛рдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдорд╛рд░реНрдЧреЛрдВ рдХреЛ "рд▓рдВрдмреЗ" рдФрд░ "рдЫреЛрдЯреЗ" рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЫреЛрдЯреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдорд╛рд░реНрдЧ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рдЯреАрдХ рдирд┐рд░реНрдзрд╛рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЫреЛрдЯреЗ рдмреНрд▓реЙрдХреЛрдВ рд╕реЗ рдмрдиреЗ рд╣реЛрддреЗ рд╣реИрдВред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдЙрдЪрд┐рдд рд╡рд┐рдЪрд╛рд░ рд╡рд╕реНрддреБрдУрдВ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛ рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдирдХреНрд╢рд╛ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдореЗрд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЗрд╡рд▓ рджреЛ рд╕реНрддрд░ рдкрд░реНрдпрд╛рдкреНрдд рдереЗ (рд╕рдмрд╕реЗ рдЙрдЪрд┐рдд рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рднреА рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдорд╛рд░реНрдЧреЛрдВ рдХреА рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП 100ms)ред
рдлрд┐рд░ рдЙрдкрд░реЛрдХреНрдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
1. рддрд░рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдб рдХреЛ рднрд░рддреЗ рд╕рдордп, рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рдХреА рджреВрд░реА MAP_RANGE рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ (рдпрджрд┐ рдЕрдзрд┐рдХ, рд╣рдо рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреЗ рд╣реИрдВ);
2. рдХрдо-рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдлрд╝реАрд▓реНрдб (MAX_X / SCALE, MAX_Y / SCALE) рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рддрд░рдВрдЧ рдорд╛рдирдЪрд┐рддреНрд░ рдмрдирд╛рдПрдБред рдРрд╕рд╛ рдирдХреНрд╢рд╛ MAP_RANGE рд╕реЗ рдЕрдзрд┐рдХ рджреВрд░реА рдХреЗ рд╕рд╛рде рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рджреВрд░ рдХреЗ рдмрд┐рдВрджреБрдУрдВ (X1, y1) рдФрд░ (x0, y0) рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдЧ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдкрд╣рд▓реЗ рдПрдХ рдХрдо-рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдмрд┐рдВрджреБ (x2, y2) рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрде (X1, y1) -> (x2, y2) рдФрд░ ( x2, y2) -> (x0, y0), рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐, рд╣рд╛рдБред
рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ MAP_RANGE рдкреИрд░рд╛рдореАрдЯрд░, рдПрдХ рддрд░рдл, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рддрд░рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдорд╛рдирдЪрд┐рддреНрд░ рдХрд┐рддрдиреА рдмрд╛рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рджреВрд╕рд░реЗ рдкрд░, рдмрд╣реБрдд рд▓рдВрдмреЗ рд░рд╛рд╕реНрддреЛрдВ рдХреА рдЕрдВрддрд┐рдо рд╕рдЯреАрдХрддрд╛ред MAP_RANGE> 2 * viewRadius рдХреЗ рд╕рд╛рде, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╕рдордп (рд╕рднреА рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдЧ) рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ 100ms рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред
рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдХреИрд╢рд┐рдВрдЧ рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ MAP_RANGE рдФрд░ рдирд┐рдореНрди-рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╡рд╛рд▓реЗ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдЗрд╕ рдЯреНрд░рд┐рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдХреИрд╢ рдХреЛ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдП (рдЬрдм рд╕реЗрд▓ MAP_RANGE рдХреЗ рддреНрд░рд┐рдЬреНрдпрд╛ рдХреЗ рднреАрддрд░ рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдЕрдкрдбреЗрдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛)ред
рд╕реНрдореГрддрд┐ рдХреЗ рд▓рд┐рдП: рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рднрд░рдирд╛ рд╣реЛрдЧрд╛: 200 ^ 2 * (200/2) ^ 2 (рдкреВрд░реНрдг рдХрд╛рд░реНрдб) + (200 / SCALE) ^ 4 (рдХрдо рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди) рдмрд╛рдЗрдЯреНрд╕, рдЬреЛ SCALE рдХреЗ рдЙрдЪрд┐рдд рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде 500 рдПрдордмреА рдХреА рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛ (5 рд╕реЗ рдЕрдзрд┐рдХ)ред
3. рдЙрджреНрджреЗрд╢реНрдп
рдЬреАрддрдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рд╡реНрдпрд░реНрде рдХреА рдЪрд╛рд▓ рди рдЪрд▓реЗрдВ, рди рдХрд┐ рд╕рд╛рд░реНрдердХ рдЕрд╡рд╕рд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдирд╛ред рдЖрдЗрдП рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред
рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
1. рджреБрд╢реНрдорди рдПрдВрдерд┐рд▓
2. рдЦрд╛рдирд╛ (рдХреЗрд╡рд▓ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреА рдЦреБрдж рдХреА рдПрдВрдерд┐рд▓ рд╣реИ)
3. рдЦреБрдж рдХреА рд╕реБрд░рдХреНрд╖рд╛ (рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП)
4. рдЖрдкрдХреА рдЪреАрдВрдЯрд┐рдпреЛрдВ (рд╣рдорд▓реЗ рдХреЛ рдмрдЪрд╛рдиреЗ рдпрд╛ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП) - рд╕рдорд░реНрдерди
5. рджреБрд╢реНрдорди рдЪреАрдВрдЯрд┐рдпреЛрдВ
6. рдЕрд╕реНрдкрд╖реНрдЯреАрдХреГрдд рдХреЛрд╢рд┐рдХрд╛рдПрдВ
рдЦреЗрд▓ рдореЗрдВ рдХреНрд░рдорд╢рдГ рдХреЛрдИ рдФрд░ рд╡рд╕реНрддреБ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдХреЛрдИ рдЕрдиреНрдп рд▓рдХреНрд╖реНрдп рдирд╣реАрдВ рд╣реИрдВред
рдореИрдВрдиреЗ рдЙрдирдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рд▓рд┐рдЦрд╛ (рдЪрд▓реЛ рдЙрдиреНрд╣реЗрдВ
рдкреНрд░реЛрдЧреНрд░рд╛рдорд▓рд┐рд╕реНрдЯ рдХрд╣рддреЗ рд╣реИрдВ), рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг (рд▓реЗрдХрд┐рди рдЖрд╡рд╢реНрдпрдХ)ред рдПрдВрдерд┐рд▓ рдХреЛ рдкрдХрдбрд╝рдирд╛ рдЦреЗрд▓ рдХрд╛ рдмрд┐рдВрджреБ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдХреНрд░реЗрдЯрд░рд┐рд╕ рдкреЗрд░рд┐рдмрд╕, рднреЛрдЬрди рдХрд╛ рдкреАрдЫрд╛ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЪреАрдВрдЯреА рдкрд╣рд╛рдбрд╝реА (рдХреБрдЫ рдЖрд░рдХреНрд╖рдгреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред рдореИрдВ рдЕрдкрдиреА рдПрдВрдерд┐рд▓ рдФрд░ рдореЗрд░реА рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдпрджрд┐ рдЖрдк рд╕рд┐рд░реНрдл "рдорд╛рд░" (рдЕрдкрдиреЗ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд┐рдирд╛) рджреБрд╢реНрдорди рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред рдареАрдХ рд╣реИ, рдЕрдЧрд░ рд╡рд╣рд╛рдБ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдЖрдк рдореИрджрд╛рди рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдо рд╕рдХрддреЗ рд╣реИрдВред
рд▓рдХреНрд╖реНрдп рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рд╕рдВрдкреВрд░реНрдг рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЬрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдпрд╣ рдЬрд╛рдБрдЪ рдХрд░ рдХрд┐ рдХреНрдпрд╛ рд╡реЗ рд▓рдХреНрд╖реНрдп рдХреЗ рдорд╛рдирджрдВрдбреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ:
foreach int program in |ProgramList|
foreach Location loc in map
if (MatchingProgram(loc, program))
ProgramList[program].push_back(loc);
рдЬрд╣рд╛рдБ
рдореИрдЪрд┐рдВрдЧрдкреНрд░реЛрдЧреНрд░рд╛рдо рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╕реЗрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ:
1. рдЕрдЧрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо == рджреБрд╢реНрдорди рдПрдВрдерд┐рд▓реНрд╕, рддреЛ рд╕реЗрд▓ рдореЗрдВ рджреБрд╢реНрдорди рдПрдВрдерд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП;
2. рднреЛрдЬрди, рдХреЛрд╢рд┐рдХрд╛ рдореЗрдВ рднреЛрдЬрди рд╣реЛрддрд╛ рд╣реИ;
3. рдЗрд╕рдХреА рдПрдВрдерд┐рд▓реНрд╕, рд╕реЗрд▓ рдореЗрдВ рдЗрд╕рдХреА рдПрдВрдерд┐рд▓ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдЦрддрд░рд╛ рд╣реЛрддрд╛ рд╣реИ (рджреБрд╢реНрдорди рдЪреАрдВрдЯреА рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣рдорд╛рд░реА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд░реАрдм рд╣реИ);
4. рдЗрд╕рдХреА рдЪреАрдВрдЯрд┐рдпрд╛рдВ, рдХреЛрд╢рд┐рдХрд╛ рдореЗрдВ рдЗрд╕рдХреА рдЪреАрдВрдЯреА рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдЦрддрд░рд╛ рд╣реЛрддрд╛ рд╣реИ (рд╡реНрдпреВрдЕрд░рд┐рдпрд╕ рдореЗрдВ рджреБрд╢реНрдорди рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐);
5. рдПрдХ рджреБрд╢реНрдорди рдЪреАрдВрдЯреА рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐, рдФрд░ рдЙрд╕рдХреЗ рджреБрд╢реНрдорди "рд╕рд╣рдпреЛрдЧреА" рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдорд╛рди рд╣реИрдВ;
6. рдЕрд╕реНрдкрд╖реНрдЯреАрдХреГрдд рдХреЛрд╢рд┐рдХрд╛рдПрдБ (рдРрд╕реА рдХреЛрд╢рд┐рдХрд╛рдПрдБ рдЬрд┐рдирдореЗрдВ рд╣рдо рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВ, рдиреАрдЪреЗ рдЗрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХ)ред
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреАрдВрдЯреА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реЛрдВрдЧреЗред рдкреНрд░рддреНрдпреЗрдХ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рд╣рдо рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ; рд╣рдо рдЙрд╕ рдирд┐рдХрдЯрддрдо рдХреЛ рдЪреБрдирддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓рд╛ рд▓рдХреНрд╖реНрдп (рдЕрдВрддрд┐рдо рдореЛрдбрд╝ рд╕реЗрдЯ) рд╡рд░реНрддрдорд╛рди рдПрдХ рд╕реЗ рднреА рдмрджрддрд░ рд╣реИ (рдпрд╛рдиреА рд╕реВрдЪреА рдореЗрдВ рдЙрдЪреНрдЪ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрддрд╛ рд╣реИ), рдпрд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ && рдкрд┐рдЫрд▓реЗ рд▓рдХреНрд╖реНрдп рд╕реЗ рджреВрд░реА рдЕрдзрд┐рдХ (1 рдЪрд░рдг рдХреЗ рдорд╛рд░реНрдЬрд┐рди рдХреЗ рд╕рд╛рде) рд╣реИред рдПрдХ рдУрд░, рдпрд╣ рд╕рдорддреБрд▓реНрдп рд▓рдХреНрд╖реНрдпреЛрдВ (рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддреА) рдХреЗ рдмреАрдЪ рдЪреАрдВрдЯреА рдХреЗ "рдЭрдЯрдХреЗ" рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рддрд░рдл, рдпрд╣ рдЕрджреНрдпрддрди рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рднреЛрдЬрди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣рдо рджреБрд╢реНрдорди рдПрдВрдерд┐рд▓ рдХреЛ рдорд┐рд▓рд╛)ред
4. рддрд╛рд▓реЗ
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рджреЛ рдпрд╛ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рдЪреАрдВрдЯрд┐рдпрд╛рдВ рдЬреЛ рдПрдХ рд╣реА рдХреЛрд╢рд┐рдХрд╛ рдкрд░ рдЧрд┐рд░рддреА рд╣реИрдВ, рдорд░ рдЬрд╛рддреА рд╣реИрдВред рд╣рдо "рд░рдЪрдирд╛" рдХреЗ рд╕рдВрд╡реЗрджрдирд╣реАрди рдиреБрдХрд╕рд╛рди рдХреЛ рд░реЛрдХрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рддреБрдЪреНрдЫ рддрд░реАрдХреЗ рд╕реЗ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдирд┐рдпреБрдХреНрддрд┐ рд╕реЗрд▓ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреАрдВрдЯреА рдХреЗ рд╕рд╛рде рд╡реНрдпрд╕реНрдд рд╣реИ, рдпрд╣ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдмреЙрдЯ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд░реБрдХрд╛рд╡рдЯреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рдЪреАрдВрдЯрд┐рдпрд╛рдВ рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рдЕрдкрдиреЗ рд▓рдХреНрд╖реНрдп рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╕реЗ рд░реЛрдХрддреА рд╣реИрдВ, рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдХреНрд╕рд░ рд╣реЛрддрд╛ рд╣реИ, рдЖрдзрд╛рд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рднреАрдбрд╝ рдФрд░ рд╕реНрдерд┐рддрд┐ рдРрд╕реА рд╣реЛрддреА рд╣реИ рдЬрд╣рд╛рдВ рдХреБрдЫ рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреА рдХреЛрдИ рдЪрд╛рд▓ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрди рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рджреМрд░рд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд▓реЗ рдЧрдП рд╣реИрдВ, рдФрд░ рдЬреЛ рдЕрднреА рддрдХ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВред рдЬрдм рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдмреНрдЬреЗ рд╡рд╛рд▓реЗ рд╕реЗрд▓ рдкрд░ рдЬрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╕рд╛рдордиреЗ рдЖрддреЗ рд╣реИрдВ:
1. рд╡рд░реНрддрдорд╛рди рдЪреАрдВрдЯреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рджрд┐рд╢рд╛ рдЪреБрдиреЗрдВ;
2. рдЬреЛ рджреВрд╕рд░реЗ рд╕реЗрд▓ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рддрд╛ рд╣реИ (
рдЕрд╡рд░реЛрдзрдХ ) рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред
programAnt(MyAnt *ant):
if (ant->alreadyMoved) return ;
repeat:
direction = getDirectionByProgramList(program)
if (moveResult(ant, direction) == mrBlockerNotMoved)
{
programAnt(blocker);
program++;
goto repeat;
}
рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ "рджрдЦрд▓ рджреЗрдиреЗ рд╡рд╛рд▓реА" рдЪреАрдВрдЯрд┐рдпрд╛рдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝реЗрдВ, рд▓реЗрдХрд┐рди рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдВрднрд╡ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЪреАрдВрдЯреА рдХрд╛ "рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ" рдлрд╝рдВрдХреНрд╢рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рддрд┐ рдХреЙрд▓ рдХрдИ рдкрдбрд╝реЛрд╕реА рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рдЖрдкрдХреЛ рдмрд╕ рдПрдХ рд╣реА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрдХ рдЪреАрдВрдЯреА рдХреА рдмреЗрдХрд╛рд░ рдореМрдд рдХрд╛ рдПрдХ рдФрд░ рдХрд╛рд░рдг рд╡рд┐рд░реЛрдзрд┐рдпреЛрдВ рдХреА рдЕрдзрд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рднрдЯрдХрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рд╣реИред рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░рдиреА рд╣реЛрдЧреА рдФрд░ рдпреБрджреНрдз рдХреЛ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдЖрдк C ++ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд░рд╛рдЬреНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЧреНрд░рд┐рдб, рд╢рддреНрд░реБ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕реВрдЪреА рдореЗрдВ рд╡реЗ рдкреНрд░рдХрд╛рд░ рд╕реЗ рднрд┐рдиреНрди рдирд╣реАрдВ рд╣реИрдВ (рдпрджрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ)ред рд╡реИрд╕реЗ рднреА ...
5. рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреИрдХреЗрдЬ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ
1. MyAnts рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдЪреАрдВрдЯреА рд╡рд╕реНрддреБрдПрдВ рдЕрдкрдиреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЪреАрдВрдЯреА рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ рдкрде рд░рдЦрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк State.h рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ - рд╡реЗрдХреНрдЯрд░ myAnts рдкреНрд░рддреНрдпреЗрдХ рдореЛрдбрд╝ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдлреЙрд░реНрдо MyAnt * antMap [MAX_X] [MAX_Y] рдХрд╛ рдПрдХ рдирдХреНрд╢рд╛ рдмрдирд╛рдПрдВ, рдЬрд┐рд╕реЗ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗ (рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪреАрдВрдЯреА рдХреЗ рд▓рд┐рдП
рдореЗрдХрд╡реЙрд╡ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХрд░рдирд╛ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ)ред
2. рдЕрджреНрдпрддрди рдХреНрд╖рдорддрд╛ рд╕рдорд╛рд░реЛрд╣ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд░реВрдк рд╕реЗ рд▓рдВрдмрд╛ рд╣реИред рдПрдХ рд╣рдЬрд╛рд░ рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╢рд╛рдпрдж рдкрде рдмрд┐рдЫрд╛рдиреЗ рд╕реЗ рднреА рдЕрдзрд┐рдХ рд▓рдВрдмрд╛, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЪреАрдВрдЯреА рдХреЗ рд▓рд┐рдП, рдЕрд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдЬреЛ рджреВрд░реА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИред рдпрд╣ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реЛрдЧрд╛ (рдЬреЛ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ рдерд╛) рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЛ рд╕реАрдзреЗ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА (viewRadius) рдХреА рд╕реВрдЪреА рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рд╣рдорд▓рд╛ рдХрд┐рдпрд╛ (attackRadius), рдЖрд░рдВрднрд┐рдХ рдЬрдм рд╕реЗрд▓ рдХреА рдкрд╣рд▓реЗ рдЬрд╛рдВрдЪ рдХреА рдЧрдИ рдереАред рдлрд┐рд░ рдЕрджреНрдпрддрди рдХреНрд╖рдорддрд╛ рдкрд╛рд╢рд╡рд┐рдХ рдмрд▓ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рддреИрдпрд╛рд░ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЪреАрдВрдЯреА рдХреЗ рд▓рд┐рдП рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИред
3. std :: рд╡реЗрдХреНрдЯрд░ <std :: рд╡реЗрдХреНрдЯрд░> рдЧреНрд░рд┐рдбред рдпрд╣рд╛рдВ рд╣рдо рдЧрддрд┐ рдЦреЛ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╣рдо рд╕реНрдХреНрд╡рд╛рдпрд░ рдЧреНрд░рд┐рдб [MAX_X] [MAX_Y] рдХреЗ рдЦрд┐рд▓рд╛рдл рднреА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред рдЧрддрд┐ рдХрд╛ рдиреБрдХрд╕рд╛рди рдордЬрд╝рд╛рдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрд╣реБрдд рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЗрдореЛрд░реА рдПрдбреНрд░реЗрд╕ рдкрд░ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд╣реИрдВред
6. рдкреНрд░рджреЗрд╢реЛрдВ рдХрд╛ рдЕрдиреБрд╕рдВрдзрд╛рди рдФрд░ рдирд┐рдпрдВрддреНрд░рдг
рдЪреВрдБрдХрд┐ рдЕрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╕реНрддреБ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЛ рдХреИрд╕реЗ рд░реЛрдХрд╛ рдЬрд╛рдП рдФрд░ рджреБрд╢реНрдорди рдЪреАрдВрдЯрд┐рдпреЛрдВ рдкрд░ рд╣рдорд▓реЗ рдХрд╛ рдЖрдпреЛрдЬрди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП (рднреЛрдЬрди рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдПрдВрдерд┐рд▓ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП), рдпрд╣ рд╕реАрдЦрдирд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреИрд╕реЗ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХреА рдЬрд╛рдПред
рдЕрдиреБрд╕рдВрдзрд╛рди рдореЗрдВ рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд╕реНрдереИрддрд┐рдХ рд╡рд╕реНрддреБрдУрдВ рдХреА рдЦреЛрдЬ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо (рдПрдВрдерд┐рд▓, рдкрд╛рдиреА) рдирд╣реАрдВ рд░рд╣реЗ рд╣реИрдВред
рдирд┐рдпрдВрддреНрд░рдг - рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдХрд┐ рдХреНрдпрд╛ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА (рднреЛрдЬрди) рдпрд╛ рд╣рд╛рдирд┐рдХрд╛рд░рдХ (рджреБрд╢реНрдорди рдЪреАрдВрдЯрд┐рдпреЛрдВ) рдкреНрд░рдХрдЯ рд╣реБрдЖ рд╣реИред
рджреЛрдиреЛрдВ рдФрд░ рдПрдХ рдФрд░, рдПрдХ рд╕рд╛рд░ рдПрдХ рд╣реА рдЪреАрдЬ - рдХреЛрд╢рд┐рдХрд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо
рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд╣реАрдВ рд░рд╣реЗ рд╣реИрдВред рдФрд░ рдпрд╣ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛рдлреА рдЖрд╕рд╛рдиреА рд╕реЗ рдФрдкрдЪрд╛рд░рд┐рдХ рд╣реЛ рдЬрд╛рддреА рд╣реИред
рдЬрдм рд╣рдо рд▓рдХреНрд╖реНрдп (рдкрд╣рд▓реА рд╕реЗ рдкрд╛рдВрдЪрд╡реАрдВ рддрдХ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо) рдХреЛ рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреА рдкрдВрдХреНрддрд┐ рдХреЛ рд╕реМрдВрдкрддреЗ рд╣реИрдВ, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХрд╣рд╛рдБ рдЬрд╛рдирд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЯрд╣рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЙрди рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рдХреЛрдИ рдирд╣реАрдВ рджреЗрдЦрддрд╛ (рджреГрд╢реНрдпрддрд╛ == 0)ред рдЙрди "рдЕрджреГрд╢реНрдп" рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рджреА рдЬрд╛рддреА рд╣реИ рдЬреЛ рдХрднреА рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреЗ рдереЗ (lastSeen == NEVER) - рд╢реЛрдзред рд╢реЗрд╖ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ - рдЬреЛ рдХрд┐ рд╢реБрд░реБрдЖрддреА рдЪрд╛рд▓ (рдЕрдзрд┐рдХрддрдо рдЕрдВрддрд┐рдо рд╕реАрди) рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рдереЗ - рдирд┐рдпрдВрддреНрд░рдгред рдЕрдВрддрд┐рдо рд╕рддреНрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд╕рдорд╛рди рдХрдХреНрд╖реЛрдВ рдХреЗ рдмреАрдЪ, рдирд┐рдХрдЯрддрдо рдХреЛ рдЪреБрдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЬрд▓реНрджреА рд╕реЗ рдкреВрд░реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдШреВрдореЗрдЧрд╛, рдФрд░ рд╕рд╛рде рд╣реА рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЙрд╕ рдХреНрд╖реЗрддреНрд░ рдХреА рджреГрд╖реНрдЯрд┐ рдЦреЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛ рдЬрд╣рд╛рдВ рднреЛрдЬрди рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддрд╛ рд╣реИред
7. рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг
рдЕрдм рд╣рдорд╛рд░реА рдЪреАрдВрдЯрд┐рдпрд╛рдВ рдХрд╛рдлреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╣реИрдВ рдФрд░ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдкрд░реЛрдХреНрдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЬреАрдд рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдЦреЗрд▓ рдореЗрдВ рдПрдХ рд╣рдореЗрд╢рд╛ рдЬреАрддрдиреЗ рд╡рд╛рд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рд╕рдВрднрд╛рд╡рд┐рдд рд╕реНрдерд┐рддрд┐ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг - рдкрд╣рд▓реА рдЪрд╛рд▓ рдкрд░, рд╕рднреА рд╡рд┐рд░реЛрдзреА рдЖрдк рдкрд░, рд╡рд┐рднрд┐рдиреНрди рдкрдХреНрд╖реЛрдВ рд╕реЗ рд╣рдорд▓рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдПрдХ рджреВрд╕рд░реЗ рдкрд░ рд╣рдорд▓рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдзрд╛рд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рднреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреА рдХреЛрдИ рд╡реНрдпрд╡рд╕реНрдерд╛ рдЗрд╕рдХреА рд░рдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░реЗрдЧреАред
рджреВрд╕рд░реЗ, рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдП рдЧрдП рд▓рдХреНрд╖реНрдпреЛрдВ рдХрд╛ рдХреНрд░рдо рд╕рд╣реА рд╣реИ (рдЪрд▓реЛ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рд╡рд┐рд░реЛрдзрд┐рдпреЛрдВ рдХреА рд░рдгрдиреАрддрд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рджреБрд╢реНрдорди рдХреЗ рдПрдВрдерд┐рд▓ рддрдХ рдЬрд▓реНрджреА рд╕реЗ рдкрд╣реБрдВрдЪрдиреЗ рдФрд░ рдЙрд╕реЗ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдВрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИ), рдФрд░ рдХрднреА-рдХрднреА рдпрд╣ рдЖрддреНрдорд╣рддреНрдпрд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рддрд░реАрдХрд╛ рд╣реИред рд▓рдХреНрд╖реНрдпреЛрдВ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреБрд╢реНрдорди рдХреЗ рд╕реНрддрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧреАред рдПрдХ рдХрдордЬреЛрд░ рд╡рд┐рд░реЛрдзреА рдХреЗ рд╕рд╛рде рдпрд╣ рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЛ "рд╕реНрд╡реИрдк" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧреА рд╣реИ, рдФрд░ рдордЬрдмреВрдд рд▓реЛрдЧреЛрдВ рд╕реЗ рдпрд╣ рдХрднреА-рдХрднреА "рд░рди" рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд▓рдЧрднрдЧ рдкреВрд░реНрдг "рдПрдХреНрд╕рдЪреЗрдВрдЬ" рдХреЗ рдкрд▓ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓реА рдЪрд╛рд▓ рдкрд░, рд╣рдо рд╡рд┐рд░реЛрдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдФрд░ рдЦреЗрд▓ рдХреЗ рдордзреНрдп рд╕реНрддрд░ рдХреЗ рдмрд░рд╛рдмрд░ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рднрд╛рдЧреНрдп (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ "рдмреБрд░реА рдХрд┐рд╕реНрдордд" рдХреА рдХрдореА) рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд▓рдХреНрд╖реНрдпреЛрдВ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рд░рдгрдиреАрддрд┐ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╣рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдХрд╣рд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд▓рдХреНрд╖реНрдп 4 - рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдЬреЛ рдПрдХ рдорд╣рд╛рди рдХрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдХрд┐рд╕реА рдХреЛ рдХреБрдЫ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдпрд╣ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╣реИ