рдЧрддрд┐рд╢реАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ рдЖрд▓рд╕реА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ

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

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

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдХреЛрд╢рд┐рдХрд╛ рдХреЗ рдЧрдЯрд░ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдкрдбрд╝реЛрд╕реА (рдпрджрд┐ рдпрд╣ рд╕реНрд╡рдпрдВ рдПрдХ рдЧрдЯрд░ рдирд╣реАрдВ рд╣реИ) рдХреЗ рдЧрдЯрд░ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рд╕реЗ рдкрд╛рдиреА рдЗрдХрдЯреНрдард╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╣реА рдЧрдЯрд░ рдореЗрдВ рдПрдХ рд╣реА рдорд╛рд░реНрдЧ рд╕реЗ рдмрд╣ рд╕рдХрддрд╛ рд╣реИред
рдмрд▓реНрдХрд┐ рдПрдХ рд╕рд░рд▓ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЦреНрдпрд╛рд▓ рдЖрддрд╛ рд╣реИ:
 drainOf рд╕реЗрд▓ = 
   рд╕рдмрд╕реЗ рдХрдо рдорд╛рдорд▓рд╛ред рдХреА рд╕реЗрд▓
     рдХреБрдЫ рднреА рдирд╣реАрдВ тЖТ рд╕реЗрд▓
     рдмрд╕ nb тЖТ drainOf nb

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

рд▓реЗрдХрд┐рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛:
 рдЪрд▓реЛ рдирд╛рд▓реА = drainOf рд╕реЗрд▓
 рдбреНрд░реЗрди рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ
 рдбреНрд░реЗрди рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ

рдпрд╛рдиреА рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдорддрд▓рдм рд╕рдорд╛рди рднрд╛рд╡ рд╕реЗ рд╣реИ, рддреЛ рдЖрд▓рд╕реА рдЧрдгрдирд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧреАред
 рдХреЛрд╢рд┐рдХрд╛рдПрдВ = ((1,1), (рдЪреМрдбрд╝рд╛рдИ, рдКрдВрдЪрд╛рдИ))

 рдКрдБрдЪрд╛рдИ :: (рдЗрдВрдЯ, рдЗрдВрдЯ) тЖТ рдЗрдВрдЯ

 - рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ, рд╕рднреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рдирд╛рд▓рд┐рдпреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА!  рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдЧрдгрдирд╛ рдЖрд▓рд╕реНрдп рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ
 - рдпрд╛рдиреА  рдЕрднреА рддрдХ рдпрд╣ рдХреЗрд╡рд▓ рдбреНрд░реЗрдирдСрдл рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд╣реИрдВ
 рдирд╛рд▓рд┐рдпрд╛рдВ = рд╕рд░рдгреА рдХреЛрд╢рд┐рдХрд╛рдПрдВ [(рд╕реЗрд▓, рдбреНрд░реЗрдирдСрдл рд╕реЗрд▓) |  рд╕реЗрд▓ cell рд░реЗрдВрдЬ рд╕реЗрд▓]
  
 drainOf рд╕реЗрд▓ = 
   рд╕рдмрд╕реЗ рдХрдо рдорд╛рдорд▓рд╛ред рдХреА рд╕реЗрд▓
     рдХреБрдЫ рднреА рдирд╣реАрдВ тЖТ рд╕реЗрд▓
     рдмрд╕ nb тЖТ рдирд╛рд▓рд┐рдпрд╛рдБ!  nb - рд╕реНрдЯреЙрдХ рдРрд░реЗ рдХреЗ рддрддреНрд╡ рддрдХ рдкрд╣реБрдВрдЪ
     - рдпрд╣рд╛рдБ рдкрд╣рд▓реА рдХреЙрд▓ рдкрд░, drainOf рдХреА рдЧрдгрдирд╛ рдШрдЯрд┐рдд рд╣реЛрдЧреА,
     - рдФрд░ рджреВрд╕рд░реЗ рдкрд░ - рдХреИрд╢реНрдб рдкрд░рд┐рдгрд╛рдо рдХреА рд╡рд╛рдкрд╕реА

 рдирд┐рдореНрдирддрдордиреНрдпреВрдЬрдмреЛрд░реЛрдлрд╝ (x, y) =
   рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рджреЛ (inRange cells) 
                         (x, y-1), (x + 1, y), (x, y + 1), (x-1, y)]
       рдиреНрдпреВрдирддрдо = рдиреНрдпреВрдирддрдо (рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ)
   рдореЗрдВ
       рдпрджрд┐ рдКрдБрдЪрд╛рдИ рд╕рдмрд╕реЗ рдХрдо тЙе рдКрдБрдЪрд╛рдИ (x, y)
             рдлрд┐рд░ рдХреБрдЫ рдирд╣реАрдВ
             рдФрд░ рд╕рдмрд╕реЗ рдХрдо

рдпрд╣ рд╕рдм, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рдордЭ рдЧрдП рд╣реЛрдВрдЧреЗ рдХрд┐ рдЖрд▓рд╕реА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреНрдпрд╛ рд╣реИред

UPD: рдореИрдВрдиреЗ рдкреВрд░реНрдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ рдЗрд╕рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рддрд╛рдХрд┐ рдирд┐рд░рд╛рдзрд╛рд░ рди рд╣реЛред
 рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░реЗрдВ
 рдЖрдпрд╛рдд Debug.Trace (рдЯреНрд░реЗрд╕)
 рдЖрдпрд╛рдд рдирд┐рдпрдВрддреНрд░рдгред рдореЛрдирд╛рдб (forM_)
 рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░реЗрдВред рдиреНрдпреВрдирддрдо (рдиреНрдпреВрдирддрдо, рдкрд╛рд░рдЧрдорди)
 рдЖрдпрд╛рдд Data.Function (рдкрд░)

 - рд╕рд░рд▓ рдбреЗрдЯрд╛ -

 рдХреЛрд╢рд┐рдХрд╛рдПрдВ = (1,1), (3,3)

 altitudes = listArray рдХреЛрд╢рд┐рдХрд╛рдПрдВ $ concat $ transpose [
     [резреж, 10, резреж],
     [резрел, рей, резрел],
     [реиреж, реирел, реиреж]]

 - рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп -

 рдКрдБрдЪрд╛рдИ :: (рдЗрдВрдЯ, рдЗрдВрдЯ) тЖТ рдЗрдВрдЯ
 рдКрдВрдЪрд╛рдИ рд╕реЗрд▓ = рдКрдВрдЪрд╛рдИ!  рд╕реЗрд▓

 рдирд┐рдореНрдирддрдордиреНрдпреВрдЬрдмреЛрд░реЛрдлрд╝ (x, y) =
   рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рджреЛ (inRange cells) 
                         (x, y-1), (x + 1, y), (x, y + 1), (x-1, y)]
       рдиреНрдпреВрдирддрдо = рдиреНрдпреВрдирддрдо (рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ)
   рдореЗрдВ
       рдпрджрд┐ рдКрдБрдЪрд╛рдИ рд╕рдмрд╕реЗ рдХрдо тЙе рдКрдБрдЪрд╛рдИ (x, y)
             рдлрд┐рд░ рдХреБрдЫ рдирд╣реАрдВ
             рдФрд░ рд╕рдмрд╕реЗ рдХрдо

 PrintArray arrest =
     let (sx, sy), (ex, eye) = рд╕реАрдорд╛рдПрдВ рдЧрд┐рд░рдлреНрддрд╛рд░реА
         PrintRow y = forM_ [sx..ex] (╬╗ x тЖТ putStr (рд╢реЛ (рдЧрд┐рд░рдлреНрддрд╛рд░реА! (x, y)) ++ "\ t"))
     рдореЗрдВ
         forM_ [sy..ey] (╬╗ y тЖТ PrintRow y ┬╗putStrLn" ")

 рдореБрдЦреНрдп = 
   PrintArray рдКрдВрдЪрд╛рдИ
      putStrLn "- рдирд╛рд▓рд┐рдпрд╛рдБ -------------"
      рдкреНрд░рд┐рдВрдЯрдЕрд░реЗ рдирд╛рд▓рд┐рдпрд╛рдВ
      putStrLn "- рдирд╛рд▓рд┐рдпрд╛рдБ - ------------"
      рдкреНрд░рд┐рдВрдЯрдЕрд░реЗ рдирд╛рд▓рд┐рдпрд╛рдБ ra

 - рд╕рд░рд▓ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ -

 рдирд╛рд▓рд┐рдпрд╛рдВ = рд╕рд░рдгреА рдХреЛрд╢рд┐рдХрд╛рдПрдВ [(рд╕реЗрд▓, рдбреНрд░реЗрдирдСрдл рд╕реЗрд▓) |  рд╕реЗрд▓ cell рд░реЗрдВрдЬ рд╕реЗрд▓]

 drainOf рд╕реЗрд▓ |  рдЯреНрд░реЗрд╕ ("drainOf" ++ рд╢реЛ рд╕реЗрд▓) рдЧрд▓рдд = рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд
 drainOf рд╕реЗрд▓ = 
   рд╕рдмрд╕реЗ рдХрдо рдорд╛рдорд▓рд╛ред рдХреА рд╕реЗрд▓
     рдХреБрдЫ рднреА рдирд╣реАрдВ тЖТ рд╕реЗрд▓
     рдмрд╕ nb тЖТ drainOf nb

 - рдЖрд▓рд╕реА рдХреИрд╢рд┐рдВрдЧ -

 рдирд╛рд▓рд┐рдпрд╛рдБ cells = рд╕рд░рдгреА рдХреЛрд╢рд┐рдХрд╛рдПрдБ [(рдХреЛрд╢рд┐рдХрд╛, рдЕрдкрд╡рд╛рд╣ | рдХреЛрд╢рд┐рдХрд╛) |  рд╕реЗрд▓ cell рд░реЗрдВрдЬ рд╕реЗрд▓]

 drainOf O рд╕реЗрд▓ |  рдЯреНрд░реЗрд╕ ("drainOf ++" ++ рд╢реЛ рд╕реЗрд▓) рдЧрд▓рдд = рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд
 drainOf O рд╕реЗрд▓ = 
   рд╕рдмрд╕реЗ рдХрдо рдорд╛рдорд▓рд╛ред рдХреА рд╕реЗрд▓
     рдХреБрдЫ рднреА рдирд╣реАрдВ тЖТ рд╕реЗрд▓
     рдмрд╕ nb тЖТ рдирд╛рд▓рд┐рдпрд╛рдВ ra!  nb

рдкрд░рд┐рдгрд╛рдо:
 резреж 10 резреж	
 резрел рей резрел	
 реиреж реирел реиреж	
 - рдирд╛рд▓рд┐рдпрд╛рдБ -------------
 drainOf (1,1)
 drainOf (2.1)
 drainOf (2.2)
 drainOf (2.1)
 drainOf (2.2)
 drainOf (3.1)
 drainOf (2.1)
 drainOf (2.2)
 (2.2) (2.2) (2.2)	
 drainOf (1,2)
 drainOf (2.2)
 drainOf (2.2)
 drainOf (3.2)
 drainOf (2.2)
 (2.2) (2.2) (2.2)	
 drainOf (1.3)
 drainOf (1,2)
 drainOf (2.2)
 drainOf (2,3)
 drainOf (2.2)
 drainOf (3.3)
 drainOf (3.2)
 drainOf (2.2)
 (2.2) (2.2) (2.2)	
 - рдирд╛рд▓рд┐рдпрд╛рдБ ------------
 drainOf '(1,1)
 drainOf '(2.1)
 drainOf '(2,2)
 drainOf '(3.1)
 (2.2) (2.2) (2.2)	
 drainOf '(1,2)
 drainOf '(3.2)
 (2.2) (2.2) (2.2)	
 drainOf '(1,3)
 drainOf '(2,3)
 drainOf '(3.3)
 (2.2) (2.2) (2.2)	

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдиреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЗ рд╕реНрдЯреЙрдХ рдХреА рдмрд╛рд░-рдмрд╛рд░ рдЧрдгрдирд╛ рдХреА, рдЬрдмрдХрд┐ рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдиреЗ рдареАрдХ рдПрдХ рдмрд╛рд░ рдХрд┐рдпрд╛ред


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


All Articles