YAPC :: рдпреВрд░реЛрдк 2013 рдореЗрдВ REG.RU рджреНрд╡рд╛рд░рд╛ рдкрд░реНрд▓ рдЧреЛрд▓реНрдл



рдкрд░реНрд▓-рдбреЗрд╡рд▓рдкрд░реНрд╕ YAPC рдХрд╛ рдирд┐рдпрдорд┐рдд рд╕рдореНрдореЗрд▓рди :: рдпреВрд░реЛрдк 2013 12 рд╕реЗ 14 рдЕрдЧрд╕реНрдд рддрдХ рдХреАрд╡ рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдЪреЗрдд рд░рд┐рдкреЛрд░реНрдЯ, рдкрд░реНрд▓ 5 рдФрд░ рдкрд░реНрд▓ 6 рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдЕрдВрджрд░реВрдиреА рдЬрд╛рдирдХрд╛рд░реА, рдкрд░реНрд▓ рджреБрдирд┐рдпрд╛ рд╕реЗ рдЬреАрд╡рд┐рдд рдХрд┐рдВрд╡рджрдВрддрд┐рдпреЛрдВ (рдЦреБрдж рд▓реИрд░реА рд╡реЙрд▓ рд╕рд╣рд┐рдд!)ред рд░рд┐рд╡рд░ рдХреНрд░реВрдЬрд╝ рдФрд░ рдкрдм рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ рдЕрджреНрднреБрдд рд╕рдВрдЪрд╛рд░ - рд╕рдм рдХреБрдЫ рдерд╛ред рдпрд╣ рдЖрдпреЛрдЬрди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рд╢рдВрд╕рд╛ рдХрд╛ рдкрд╛рддреНрд░ рд╣реИ, рдФрд░ рдЖрдпреЛрдЬрдХреЛрдВ рдФрд░ рд╡рдХреНрддрд╛рдУрдВ (рдФрд░ рдЕрдиреНрдп рд╕рднреА рд╕рдореНрдореЗрд▓рди рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ) - рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рд╢рдВрд╕рд╛ рдФрд░ рдзрдиреНрдпрд╡рд╛рджред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐, рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдирд╡ рдЦреБрд╢рд┐рдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░реНрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╡рд┐рд╢реЗрд╖, рд╕рд╛рдорд╛рдиреНрдп "рд╣реЛрдореЛ рд╕реЗрдкрд┐рдпрдиреНрд╕" рдХреЗ рд╕рд╛рде рдордиреЛрд░рдВрдЬрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫреБрдХ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдореЗрд╢рд╛ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВ рдФрд░ рдХрд░реАрдм рд╣реИрдВред

рддреЛ, рд╣рдо рдХреИрд╕реЗ YAPC рдкрд░ рдкрд░реНрд▓ рдЧреЛрд▓реНрдл рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЖрдпрд╛ред

REG.RU рдиреЗ рдкреНрд░рд╛рдпреЛрдЬрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдореНрдореЗрд▓рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ред рдмреВрде рдкрд░ рдФрд░ рд╣реЙрд▓ рдореЗрдВ рд╣рдорд╛рд░реЗ рджреЛрд╕реНрддреЛрдВ рдиреЗ рдЕрджреНрднреБрдд рдЯреА-рд╢рд░реНрдЯ, рдХрдВрдкрдиреА, рдореБрд╕реНрдХреБрд░рд╛рд╣рдЯ рдФрд░ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдорд╛рд╣реМрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЙрдиреНрд╣реЛрдВрдиреЗ "рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкрд░реНрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░" ( REG.RU рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╕рднреА рд╡рд┐рд╡рд░рдг рдФрд░ рдлреЛрдЯреЛ рдХреЗ рд╕рд╛рде рд░рд┐рдкреЛрд░реНрдЯ) рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рд░рдЦреАред )ред

YAPC рдкрд░ REG.RU :: рдпреВрд░реЛрдк 2013

рд▓реЗрдХрд┐рди, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рдо рд╡рд╣рд╛рдБ рдирд╣реАрдВ рд░реБрдХ рд╕рдХрддреЗред "рдкрд░реНрд▓-рдЗрд╡реЗрдВрдЯ - рдкрд░реНрд▓-рдПрдХреНрдЯрд┐рд╡рд┐рдЯреА, рдФрд░ рдХреБрдЫ рдирд╣реАрдВ!" - рд╣рдордиреЗ рдЦреБрдж рдХреЛ рдмрддрд╛рдпрд╛, рдФрд░ рдлрд┐рд░ рд╕реЛрдЪрдиреЗ рд▓рдЧреЗ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ?

рдкрд░реНрд▓ рдЧреЛрд▓реНрдл рдХреНрдпрд╛ рд╣реИ?


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


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

рдХрд┐рдВрд╡рджрдВрддреА


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

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



рдЦреЗрд▓ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдЬрд╛рдУ


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



рдирд┐рдпрдо рдФрд░ рд╢рд░реНрддреЗрдВ
  1. рдХрд╛рд░реНрдп 9 ├Ч 9 рдЫрд╛рддреНрд░ рдмреЛрд░реНрдб рдкрд░ рджрд┐рдП рдЧрдП рд╣реИрдВред
  2. рд╕рд╣реА рдХрджрдо рдХрд╛рд▓реЗ рдкрддреНрдерд░реЛрдВ рдХреЗ рд╕рд╛рде рд╣реИред
  3. рдпрд╣ рдЧрд╛рд░рдВрдЯреА рд╣реИ рдХрд┐ рдмреЛрд░реНрдб рдкрд░ рдХреЛрдИ рдкрддреНрдерд░ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЗрдирдкреБрдЯ : рдЦреЗрд▓ рдмреЛрд░реНрдб рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдиреМ рд▓рд╛рдЗрдиреЗрдВ STDIN рдкрд░ рджреА рдЬрд╛рддреА рд╣реИрдВред рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╣реЛрддреЗ рд╣реИрдВ (рдмреЛрд░реНрдб рдкрд░ рдЦрд╛рд▓реА рдбреЙрдЯреНрд╕ рдХрд╛ рд╕рдВрдХреЗрдд), рд╡рд░реНрдг "w" (рд╕рдлреЗрдж рдкрддреНрдерд░) рдФрд░ "b" (рдХрд╛рд▓реЗ рдкрддреНрдерд░), рдФрд░ рдПрдХ рдкрдВрдХреНрддрд┐ рд╡рд┐рд░рд╛рдо рд╡рд░реНрдг ("\ n") рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

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

рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдкрд░реНрд▓ рдЧреЛрд▓реНрдл рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрдпреЛрдЬрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ:
  1. рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдЬреАрддрддрд╛ рд╣реИред
  2. рд╢реЗрдмрдВрдЧ рдХреЛ #! рдкрд░реНрд▓ рдпрд╛ #! рдкрд░реНрд▓ -рдлреНрд▓реИрдЧреНрд╕ рдХреА рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред # - рдкрд╛рддреНрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрд┐рдирддреА рдХрд░рддреЗ рд╕рдордп рдкрд░реНрд▓ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЭрдВрдбреЗ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ "-" рдЕрдХреНрд╖рд░ (рдЕрдХреНрд╖рд░) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
  3. рдЕрдиреНрдп рд╕рднреА рд╡рд░реНрдгреЛрдВ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдФрд░ newlines рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
  4. рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдмрд╛рд╣рд░реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдмрд╛рд╣рд░реА рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИред
  5. рд╕рдорд╛рдзрд╛рди STDERR рдкрд░ рдХреБрдЫ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛, рдкрд░реНрд▓ рд╕рдВрд╕реНрдХрд░рдг 5.18.0 рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред


рд╕рдорд╕реНрдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдПрдХ рд╕реЗрдЯ cont.reg.ru рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдорд╛рдзрд╛рди рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░рдирд╛ рдПрдХ рдорд╛рдирджрдВрдб рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рдмрд╛рдж, рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдиреЗ рдХрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рд┐рд╖реНрдХреГрдд рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛, рдЬрд┐рд╕ рдкрд░ рдХреБрдЫ рдирд┐рд░реНрдгрдп рдареЛрдХрд░ рдЦрд╛рдПред рдЗрд╕рд▓рд┐рдП рджрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рди, рдпрджрд┐ рд╡реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрд▓рдЧ рд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

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

рдкреНрд░рддрд┐рдпреЛрдЧреА рд╕рдорд╛рдзрд╛рди


205 рдЕрдХреНрд╖рд░ - рдмреНрд░рд╛рдпрди рдореИрдХрдХреЙрд▓реА

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

#!perl $b=++$/x11 .<>;for$i(9..99){if(($x=$b)=~s/^(.{$i}) /$1x/s){while($x=~/w/g){$_="$`W$'";1while s/w((?<=W.{10})|(?<=W.)|(?=.{9}W|W))/W/s;/W((?<= .{10})|(?<= .)|(?=.{9} | ))/s||$i=~/./+(print"$& $'\n")+last}}} 

рдЕрдореВрд░реНрдд
 #!perl # $/   ┬л1┬╗,  ┬л<>┬╗       #  (   ).      #     11  (   / #          . $b = ++$/ x 11 . <>; #    . for $i ( 9 .. 99 ) { #   .     , . . , #    ┬лx┬╗ ( ,  ,    #  ,   )  . if ( ( $x = $b ) =~ s/^(.{$i}) /$1x/s ) { #          (┬лw┬╗). while ( $x =~ /w/g ) { #    $_,     ┬лw┬╗  ┬лW┬╗ # (     while # $`      ,   $' тАФ ). $_ = "$`W$'"; #    ,    . 1 while s/w((?<=W.{10})|(?<=W.)|(?=.{9}W|W))/W/s; #   ( ) -    . /W((?<= .{10})|(?<= .)|(?=.{9} | ))/s #   ,   . #   ┬л/./┬╗     $& (  #  )  $' ( ,     # ), .   ,    #     . || $i =~ /./ + ( print "$& $'\n" ) + last; } } } 


рдмреНрд░рд╛рдпрди рдиреЗ рдЕрдкрдиреЗ рдлреИрд╕рд▓реЗ рдФрд░ рдкреЗрд░рд▓реЛрдирдХреНрд╕ рдкрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдиреНрд╣реЛрдВрдиреЗ рд▓рд╛рдЗрдЯрдирд┐рдВрдЧ рдмреНрд▓реЙрдХ рдореЗрдВ рдЗрд╕ рдирд┐рд░реНрдгрдп рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реБрдП рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдИред

рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рдЬреАрдд рдХреЗ рд▓рд┐рдП, рдмреНрд░рд╛рдпрди рдХреЛ рдорд┐рдиреА-рдЧреЛрд▓реНрдл рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрднреБрдд рд╕реЗрдЯ рдорд┐рд▓рд╛, рддрд╛рдХрд┐ рдЕрдм рдЙрдиреНрд╣реЗрдВ рдХрд╛рд░реНрдпрд╕реНрдерд▓ рдореЗрдВ рдмреЛрд░рд┐рдпрдд рдХрд╛ рд╕рд╛рдордирд╛ рди рдХрд░рдирд╛ рдкрдбрд╝реЗред



212 рдкрд╛рддреНрд░ - рд╕рд░реНрдЧреЗрдИ рдореЛрдЬреИрд╕реНрдХреА (рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реБрдП)

рдЕрдирдиреНрдд рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрдбрд╝реЛрд╕реА рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдЯреНрд░реИрд╡рд░реНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рдзрд╛рди рдФрд░ рдЪреЗрдХ рдХрд┐рдП рдЧрдП рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ред

 #!perl @g=(d..n,map{/./g,''}<>);sub n{my($i,$j,$r)=@_;map{$_=1and map{$r=n($i,$j+1)+n($i,$j-1)+n($i+1,$j)+n($i-1,$j)==1if/w/;$r=1and$0="$i $j\n"if/ /}$g["$i$j"]if!$_}$s{"$i$j"};$r}map{print$0if$g[$_]eq'w'&&n(/./g)}0..99 

рдЕрдореВрд░реНрдд
 #!perl #        d .. n, #    . @g = ( d .. n, map { /./g, '' } <> ); #     sub n { my ( $i, $j, $r ) = @_; #  %s       # (   ). #    %s  $_   map. map { #   %s    #   ,      . $_ = 1 and map { #     тАФ  ,    #     ,   #        # (. .         ). $r = n( $i, $j + 1 ) + n( $i, $j - 1 ) + n( $i + 1, $j ) + n( $i - 1, $j ) == 1 if /w/; #   ,    #     $0. $r = 1 and $0 = "$i $j\n" if / / } $g["$i$j"] if !$_ } $s{"$i$j"}; #    $r } #     . map { #      ,     #     . print $0 if $g[$_] eq 'w' && n(/./g) } 0 .. 99 

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдкрд░, рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛ рд╣реИред

279 рд╡рд░реНрдг - рдирд┐рдХреЛрд▓рд╛рдИ рд╢реБрд▓реНрдпрд╛рдХреЛрд╡рд╕реНрдХреА

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╕рдорд╛рдзрд╛рди, рд▓реЗрдХрд┐рди рдЕрдирдВрдд рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рджреЛрд╣рд░рд╛рдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдПрдХ рдЕрд▓рдЧ рддрд░реНрдХ рдХреЗ рд╕рд╛рдеред

 #!/usr/bin/perl while(<>){tr/ wb\n/2133/;$str.=$_.'3'}@m=split//,('3'x12).$str;for(@m){%l=();$r=1;z($i);$o{$w[0]}=1if/1/&&$r&&(@w=%l)==2;$i++}printf"%d %d$/",$_/11,$_%11for sort keys%o;sub z{my$c=$_[0];for(qw/11 1 -11 -1/){$x=$c+$_;$n=$m[$x];$l{$x}=1if$n==2;if($n==1){z($x)if!/-/;$r=0if$i>$x}}} 

рдЕрдореВрд░реНрдд
 #!/usr/bin/perl while (<>) { #   , tr/ wb\n/2133/; #      . $str .= $_ . '3'; } @m = split //, ( '3' x 12 ) . $str; #      #     for (@m) { %l = (); $r = 1; z($i); #  . $o{ $w[0] } = 1 #  , if /1/ #     ( ), && $r #  , && ( @w = %l ) == 2; #       . $i++; } printf "%d %d$/", $_ / 11, $_ % 11 #       #     11 for sort {$a > $b} keys %o; #    . sub z { my $c = $_[0]; for (qw/11 1 -11 -1/) { #     $x = $c + $_; #   , $n = $m[$x]; #   . $l{$x} = 1 if $n == 2; #  ,    тАФ  if ( $n == 1 ) { #    тАФ  , z($x) if !/-/; #     . $r = 0 if $i > $x #  ,    #    # (  ) } } } 

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

370 рд╡рд░реНрдг - рдорд┐рдХрд▓рд╛рдИ рд▓рд┐рдпреЛрдирдХреА + рдбреЗрдирд┐рд╕ рд╢рд┐рд░реЛрдХреЛрд╡

рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдПрдХ рдФрд░ рд░реВрдкрд╛рдВрддрд░ред рдПрдХ рдФрд░ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЪрд╛рд▓ рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ: рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреЛрд░реНрдб рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рдЗрд╕рдореЗрдВ рдПрдХ рдХрд╛рд▓рд╛ рдкрддреНрдерд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЙрд╕рдХреЗ рдмрд╛рдж рдмреЛрд░реНрдб рдкрд░ рд╕рдлреЗрдж рдкрддреНрдерд░ рдкрдХрдбрд╝реЗ рдЧрдП рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред

 #!perl $s='b'x12; while(<>){s/\n/bb/;s/ /0/g;$s.=$_;}$s.='b'x10;@q=(-1,+1,11,-11);@a=split//,$s; for(@a){++$i;if(!$a[$i]){$res=0;$p=[];for(@q){$c=$_+$i;if($a[$c]eq'w'){$p=[@a];$p->[$i]='b';$res+=b($p,$c);}}if($res){printf"%d %d\n",$i/11,$i%11;}}} sub b{my($e,$w)=@_;$r=1;for(@q){$z=$_+$w;return 0 if!$r||!$e->[$z];if($e->[$z]eq'w'){$t=[@$e];$t->[$w]='b';$r&=b($t,$z)}}return$r} 

рдЕрдореВрд░реНрдд
 #!perl #   ,       . #    0,     . $s = 'b' x 12; while (<>) { s/\n/bb/; s/ /0/g; $s .= $_; } $s .= 'b' x 10; @q = ( -1, +1, 11, -11 ); #     . @a = split //, $s; #      . for (@a) { #  . ++$i; if ( !$a[$i] ) { #   . $res = 0; $p = []; for (@q) { #   . $c = $_ + $i; if ( $a[$c] eq 'w' ) { #     . $p = [@a]; #   $p->[$i] = 'b'; #      . $res += b( $p, $c ); #  ┬л┬╗. } } if ($res) { #   , printf "%d %d\n", $i / 11, $i % 11; #     . } } } sub b { my ( $e, $w ) = @_; $r = 1; for (@q) { #   .    . $z = $_ + $w; return 0 if !$r || !$e->[$z]; if ( $e->[$z] eq 'w' ) { $t = [@$e]; $t->[$w] = 'b'; $r &= b( $t, $z ) } } return $r; } 

390 рдЕрдХреНрд╖рд░ - рджрд┐рдорд┐рддреНрд░реА рдПрд▓ред

рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдХрддреНрд░реАрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╕рдорд╛рдзрд╛рдиред

 #!perl push@t,split//,'b'x11;for(<>){chomp;push@t,split//,"b$_"."b"}push@t,@t[0..10];for(;$r++<11;){for($c=0;$c++<11;){$i=$r*11+$c;if($t[$i]eq' '){for($i-11,$i+1,$i+11,$i-1){next unless$t[$_]eq'w';$t[$i]='b';if(f($_)>7){print"$r $c\n";last}$t[$i]=' '}}}}sub f{my($r,$e,$k)=@_;$d{$r}?return$e||$dr:($d{$r}=2);for($r-11,$r+1,$r+11,$r-1){$k+=1+f($_,1)if$t[$_]eq'w';$k+=2if$t[$_]eq'b'}$e?$k>7?$e:0:$k} 

рдЕрдореВрд░реНрдд
 #!perl #   ,        push @t, split //, 'b' x 11; for (<>) { chomp; push @t, split //, "b$_" . "b" } push @t, @t[ 0 .. 10 ]; #      for ( ; $r++ < 11 ; ) { for ( $c = 0 ; $c++ < 11 ; ) { #    $i = $r * 11 + $c; #    - ,   if ( $t[$i] eq ' ' ) { for ( $i - 11, $i + 1, $i + 11, $i - 1 ) { next unless $t[$_] eq 'w'; $t[$i] = 'b'; if ( f($_) > 7 ) { #    7 (. . 8) print "$r $c\n"; #   last } $t[$i] = ' ' } } } } sub f { my ( $r, $e, $k ) = @_; $d{$r} ? return $e || $dr : ( $d{$r} = 2 ); for ( $r - 11, $r + 1, $r + 11, $r - 1 ) { #   $k += 1 + f( $_, 1 ) if $t[$_] eq 'w'; #    -    1    $k += 2 if $t[$_] eq 'b'; #    2    } $e ? $k > 7 ? $e : 0 : $k; } 

404 рдкрд╛рддреНрд░ - рдлрд┐рд▓рд┐рдк рдмреНрд░реБрд╣рдЯ (рдмреВрдХреЛ)

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

 #!perl #!perl -ln sub M{$k=pop;my%t;$l[$k]=[grep!$t{$_}++,@{$l[$k]},@_]}sub S{($m,$n)=@_;($M,$N)=sort$$m,$$n;M@{delete$l[$N]},$M if$N!=($$m=$$n=$M)}$i=1;for(split//){$b[$c=$..$i]=/w/?++$e:$_;$x=($R=$.-1).$i;$y=$..($C=$i-1);/w/&&do{$b[$_]>0&&S\$b[$c],\$b[$_]for$x,$y;M$b[$x]eq$"?"$R $i":(),$b[$y]eq$"?"$. $C":(),$b[$c]};/ /&&map{$b[$_]>0&&M"$. $i",$b[$_]}$x,$y;$i++}}{print for sort grep!$s{$_}++,map@$_-1?():@$_,@l 

рдЕрдореВрд░реНрдд
 #!perl -ln sub M { $k = pop; my %t; #  ┬л┬╗. $l[$k] = [ grep !$t{$_}++, @{ $l[$k] }, @_ ] } sub S { ( $m, $n ) = @_; ( $M, $N ) = sort $$m, $$n; #          #    ┬л┬╗  M @{ delete $l[$N] }, $M if $N != ( $$m = $$n = $M ); } $i = 1; #       . for ( split // ) { $b[ $c = $. . $i ] = #  $.   . /w/ ? ++$e : $_; #      #   . $x = ( $R = $. - 1 ) . $i; #    . $y = $. . ( $C = $i - 1 ); #     . #    тАФ      /w/ && do { #      $b[$_] > 0 && S \$b[$c], \$b[$_] for $x, $y; #   ┬л┬╗. M $b[$x] eq $" ? "$R $i" : (), $b[$y] eq $" ? "$. $C" : (), $b[$c]; }; #    тАФ  ┬л┬╗     . / / && map { $b[$_] > 0 && M "$. $i", $b[$_] } $x, $y; $i++; } }{ #  . print for sort grep !$s{$_}++, map @$_ - 1 ? () : @$_, @l 

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдлрд┐рд▓рд┐рдк рдиреЗ рдорд╛рдорд▓реЗ рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд▓рд┐рдпрд╛ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ред

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

рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП @ рдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рддрдереНрдп рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдП
9x9 рдмреЛрд░реНрдбред рддреЛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ 00..99 рдФрд░ $ xред $ Y рдХреИрди рд╕реАрдорд╛ рдореЗрдВ рд╣реИрдВ
рдХрд┐рд╕реА рднреА рдЪреМрд░рд╛рд╣реЗ рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВред рдмреЛрд░реНрдб рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп, рдХреЙрд▓рдо
рдФрд░ рдкрдВрдХреНрддрд┐ 0 рдХреБрдЫ рднреА рдирд╣реАрдВ (рдпрд╛ рддреЛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдпрд╛ '') рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИред

рдмреЛрд░реНрдб рдПрдХ рд╣реА рдкрд╛рд╕ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ, рд▓рд╛рдЗрди рд╕реЗ рд▓рд╛рдЗрди (рдзрдиреНрдпрд╡рд╛рдж -ln)ред
рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдКрдкрд░ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдИрдВ рдУрд░ рд╕реЗрд▓ рдХреЛ рджреЗрдЦрд╛ред

рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рд╕реЗрд▓ 'w' рд╣реИ, рддреЛ рдпрд╣ рдЕрдЧрд▓реЗ рдЙрдкрд▓рдмреНрдз рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ
рдирдВрдмрд░, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкрдбрд╝реЛрд╕реА рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдпрд╣ рдПрдХ рдирдВрдмрд░ рд╣реИ, рддреЛ рджреЛрдиреЛрдВ рдЪрд╛рд▓реВ рд╣реИрдВ
рджреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ, рдФрд░ рдЙрдирдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреА рд╕реВрдЪреА рд╣реИ
рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ред рдкрдбрд╝реЛрд╕реА рдЬреЛ '' рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╡рд░реНрддрдорд╛рди рд╕реЗрд▓ред

рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рд╕реЗрд▓ рдПрдХ '' рд╣реИ, рддреЛ рдЗрд╕реЗ рдЗрд╕рдХреЗ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ
рдкрдбрд╝реЛрд╕реА рдЬреЛ рд╕рдВрдЦреНрдпрд╛ рд╣реИред

'рдмреА' рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рд╕рдВрдЦреНрдпрд╛ рд╕рдлреЗрдж рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП 'рд╕рдорддреБрд▓реНрдпрддрд╛ рд╡рд░реНрдЧ' рд╣реИрдВ, рдЕрд░реНрдерд╛рдд
рдПрдХ рд╣реА рдирдВрдмрд░ рд╡рд╛рд▓реА рджреЛ рдХреЛрд╢рд┐рдХрд╛рдПрдВ рдПрдХ рд╣реА рд╕рдореВрд╣ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВред

рдореЗрд░реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЛрд░реНрдб рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдерд╛:

  ...wb.... ...1b.... ...b..... ...b..... ......... ......... ..b...... would ..b...... .bwb..... become .b2b..... bwwwb.... b222b.... ......... ......... ......... ......... .......bw .......b6 

рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдХрд┐рд╕реА рднреА рд╡рд┐рд▓рдп рдХреЗ рдмрд┐рдирд╛, '2' рд╕рдореВрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реЛрдЧрд╛:

  2 345 

рдкрд╛рд╕ рдХреЗ рджреМрд░рд╛рди, рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ:

  ..b...... .b2 

(рдЕрдЧрд▓реЗ рд╕рдлреЗрдж рддрдХ рд╕рднреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рджреМрд░рд╛)

  ..b...... .b2...... b3 

  ..b...... .b2b..... b34 

рд╡рд░реНрддрдорд╛рди рд╕реЗрд▓ (4) рдХреЛ 2 рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░рдирд╛:

  ..b...... .b2b..... b32 

рд╡рд░реНрддрдорд╛рди рд╕реЗрд▓ (2) рдХреЛ 3 рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░рдирд╛:

  ..b...... .b2b..... b22 

  ..b...... .b2b..... b225 

рд╡рд░реНрддрдорд╛рди рд╕реЗрд▓ (5) рдХреЛ 2 рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░рдирд╛:

  ..b...... .b2b..... b222 

рдЙрдк рдПрдо, рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реБрдП рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЙрдк S рд╕рдорддреБрд▓реНрдпрддрд╛ рд╡рд░реНрдЧреЛрдВ, рдФрд░ рдХреЙрд▓реЛрдВ рдХрд╛ рд╡рд┐рд▓рдп рдХрд░рддрд╛ рд╣реИ
M рдЕрдкрдиреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЛ рд╡рд┐рд▓рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

400 рдореЗрдВ, рдореБрдЭреЗ рдЬреАрдд рдХреА рдХреЛрдИ рдЙрдореНрдореАрдж рдирд╣реАрдВ рдереАред рдЧреЛрд▓реНрдл рдХрд╛ рдПрдХ рдЬрд╛рдирд╛-рдорд╛рдирд╛ рддрдереНрдп
рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдпрд╣ рд╣реИ рдХрд┐ regexp- рдЖрдзрд╛рд░рд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣рдореЗрд╢рд╛ рдЬреАрддрддреЗ рд╣реИрдВред :-)

500 рдкрд╛рддреНрд░ - рд╕реЗрд╡рд┐рдпреЛ рдкрд╛рдЗрдореЗрдЯреЛ

рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЦрд╛рд▓реА рд╕реЗрд▓ рдореЗрдВ рдХрд╛рд▓реЗ рдкрддреНрдерд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рдмреЛрд░реНрдб рдкрд░ "рдЧреИрд░-рдореБрдХреНрдд" (рдХрд╛рд▓реЗ рдпрд╛ рдХрдмреНрдЬрд╛ рдХрд┐рдП рд╣реБрдП рд╕рдлреЗрдж) рдкрддреНрдерд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдФрд░ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╕рдорд╛рдзрд╛рдиред

 #!perl my$X=121;my$m;sub z{my($s,$x,$m)=shift;while($x<$X){$m+=f($x++,$s);}$m;}sub f{my($n,$t,$d)=@_;my$c=substr($t,$n,1);return 0 if $c eq ' '||!$d&& $c ne 'w';return 1 if $c eq 'b';substr($t,$n,1)='b';(!(($n+1)%11)||f($n+1,$t,1))*(!(($n-1)%10)||f($n-1,$t,1))*f($n+11,$t,1)*f($n-11,$t,1);}my$y='b'x11;while(<>){$y.="b$_";}$y=~s/\n/b/g;$y.='b'x11;$d=z($y);my$i=0;while($i<$X){my$ch=substr($y,$i,1);if($ch eq ' '){$b=$y;substr($b,$i,1)='b';if(z($b)>$d){my$y=int($i/11);my$x=$i-($y*11);print"$y $x\n";}}$i++;} 

рдЕрдореВрд░реНрдд
 #!perl my $X = 121; #    . my $m; #   ┬л┬╗ (   )    . sub z { my ( $s, $x, $m ) = shift; #      . while ( $x < $X ) { $m += f( $x++, $s ); } $m; } #    ┬л┬╗ sub f { my ( $n, $t, $d ) = @_; my $c = substr( $t, $n, 1 ); #   . #  0    #               . return 0 if $c eq ' ' || !$d && $c ne 'w'; #  1,      . return 1 if $c eq 'b'; #     . substr( $t, $n, 1 ) = 'b'; #    . ( !( ( $n + 1 ) % 11 ) || f( $n + 1, $t, 1 ) ) * ( !( ( $n - 1 ) % 10 ) || f( $n - 1, $t, 1 ) ) * f( $n + 11, $t, 1 ) * f( $n - 11, $t, 1 ); #    0,      #      . } #   ,       . my $y = 'b' x 11; while (<>) { $y .= "b$_"; } $y =~ s/\n/b/g; $y .= 'b' x 11; $d = z($y); my $i = 0; while ( $i < $X ) { #  . my $ch = substr( $y, $i, 1 ); #   . if ( $ch eq ' ' ) { #    , $b = $y; #  , substr( $b, $i, 1 ) = 'b'; #     . #      ┬л┬╗   if ( z($b) > $d ) { #    . my $y = int( $i / 11 ); my $x = $i - ( $y * 11 ); print "$y $x\n"; } } $i++; } 

581 рдкрд╛рддреНрд░ - рджрд┐рдорд┐рддреНрд░реА рдЗрд╡рд╛рдиреЛрд╡

рд╕рд╡рд┐рдпреЛ рдкрд┐рдорд╛рдЯреЗрдУ рд╕реЗ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рдХрд░реАрдм рдПрдХ рд╕рдорд╛рдзрд╛рдиред

 #!perl eval{ $a->[10]=$a->[0]=[('b')x11]; while(<STDIN>){chomp;@{$a->[++$i]}=('b',(split''),'b');last if $i>=9} sub f { my($x,$y)=@_; return $o[$j] if $n->[$x][$y]; return $o[$j]||2 if $a->[$x][$y]eq'b'; return 1 if $a->[$x][$y]ne'w'; $n->[$x][$y]=$j; $o[$j]=f($_,$y)for($x-1,$x+1); $o[$j]=f($x,$_)for($y-1,$y+1); return $o[$j]; } sub p { for $x(0..10){for $y(0..10){ f($x,$y,$j++) if $a->[$x][$y]eq'w'&&!$n->[$x][$y]; }} return grep{$_==2}@o; } my $t=p; for $x(0..10){for $y(0..10){ next if $a->[$x][$y]ne' '; $a->[$x][$y]='b'; @o=();$n=[]; print"$x $y\n" if $t<p; $a->[$x][$y]=' '; }} } 

рдЕрдореВрд░реНрдд
 #!perl eval { #       . $a->[10] = $a->[0] = [ ('b') x 11 ]; #  ,     . while (<STDIN>) { chomp; @{ $a->[ ++$i ] } = ( 'b', ( split '' ), 'b' ); last if $i >= 9; } #     . sub f { my ( $x, $y ) = @_; #   ,    . return $o[$j] if $n->[$x][$y]; #     2,      . return $o[$j] || 2 if $a->[$x][$y] eq 'b'; #  ,        (. .  ). return 1 if $a->[$x][$y] ne 'w'; #    ,   , $n->[$x][$y] = $j; #    . $o[$j] = f( $_, $y ) for ( $x - 1, $x + 1 ); $o[$j] = f( $x, $_ ) for ( $y - 1, $y + 1 ); #   $o[$j]   1      #       . return $o[$j]; } #    . sub p { #    . for $x ( 0 .. 10 ) { for $y ( 0 .. 10 ) { #  ,       #      . f( $x, $y, $j++ ) if $a->[$x][$y] eq 'w' && !$n->[$x][$y]; } } #       # (. .     ). return grep { $_ == 2 } @o; } my $t = p; # . for $x ( 0 .. 10 ) { #   . for $y ( 0 .. 10 ) { next if $a->[$x][$y] ne ' '; # ,    . $a->[$x][$y] = 'b'; #     . @o = (); #  . $n = []; #     . print "$x $y\n" if $t < p; #   ,   #      # (. .    ). $a->[$x][$y] = ' '; #   . } } } 

рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рд╕рдорд╛рдзрд╛рди рд╕реЗ рдмрд╛рд╣рд░


рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЕрдЬреАрдм рд╣реЛрдЧрд╛ рдФрд░ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рддреЛ рдпрд╣рд╛рдБ рдЖрдпреЛрдЬрдХ рд╕реЗ рд╕рдорд╛рдзрд╛рди рд╣реИ, рд╡рд╣ рд╣реИ:

192 рдкрд╛рддреНрд░ - рддреИрдореВрд░ рдиреЛрдЬрд╝рд╛рджреЗрдЬрд╝

рдПрдХ рд╕реАрдзрд╛ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╕рдорд╛рдзрд╛рдиред рдШрдиреЗ рдиреНрдпреВрдирддрд╛ рдФрд░ рд╕рдм рдХреБрдЫ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рдХрд╛рд░рдг рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЭрдВрдбреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдкрд░ рдмрдЪрдд рдФрд░ regexp рдФрд░ рд╡рд┐рд╢реЗрд╖ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ рдмрд┐рдВрджреБ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рднрд╛рд╡реА рдЪрд╛рд▓ред

 #!perl -ln0aF// sub c{my$s=pop;$s=~/-|9/||$g[$s]eq'b'||$g[$s]=~/w/*!grep{$g[$s]='b';!c($s+$_)}1,-1,10,-10}map{@g=@F;$g[$_]='b';/\d$/,print$`+1,$",$&+1if$F[$_]=~/ /*grep{$g[$_]eq'w'&&c$_}0..$#g}0..$#F 

рдЕрдореВрд░реНрдд
 #!perl -ln0aF// #   : # -n  ┬лwhile () { тАж }┬╗  ; # -0     ,    ; # -a  ,       @F; # -F//  -a   ; # -l      print. #   ┬л┬╗  sub c { my $s = pop; #  ,  #      (   ), $s =~ /-|9/ #     , || $g[$s] eq 'b' #         . || $g[$s] =~ /w/ * !grep { $g[$s] = 'b'; !c( $s + $_ ) } 1, -1, 10, -10; } #     . map { #  . @g = @F; #      . $g[$_] = 'b'; # ,     ,        #      . /\d$/, print $`+ 1, $", $& + 1 if $F[$_] =~ / / * grep { $g[$_] eq 'w' && c $_} 0 .. $#g } 0 .. $#F 

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

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдкрд░рд┐рдгрд╛рдо (192 рдЕрдХреНрд╖рд░) рдкреАрдЯрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╡рд╣рд╛рдБ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реБрдЖ, рдпрд╣ рд╕рд╣рдпреЛрдЧ рдФрд░ рдЕрдиреБрднрд╡ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд╛ рд╕рдордп рдерд╛ред

197 рд╡рд░реНрдг - рд╕реЗрд░реНрдЧреЗрдИ рдореЛрдЬреИрд╕реНрдХреА (рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓рд╛ рдкрд╛рд╕ рдирд╣реАрдВ)

рд╕рд░реНрдЧреЗрдИ рдиреЗ рдЕрдкрдиреЗ рдлреИрд╕рд▓реЗ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛, рдордзреНрдпрд╡рд░реНрддреА рдЪрд░ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдХрд░ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рд▓реЗрдХрд░ рдЖрдпрд╛ред

 #!perl @g=(d..n,map{/./g,''}<>);sub n{my($i,$r)=@_;map{do{$_=1and$r=n($i+1)+n($i-1)+n($i+10)+n($i-10)==1if/w/;$_=$r=1and$0=$i if/ /}if/\D/}$g[$i];$r}map{printf"%s %s\n",$0=~/./g if$g[$_]eq'w'&&n($_)}0..99 

рдЕрдореВрд░реНрдд
 #!perl @g = ( d .. n, map { /./g, '' } <> ); #        . sub n { my ( $i, $r ) = @_; #        , #      . map { do { $_ = 1 and $r = n( $i + 1 ) + n( $i - 1 ) + n( $i + 10 ) + n( $i - 10 ) == 1 if /w/; $_ = $r = 1 and $0 = $i if / / } if /\D/ } $g[$i]; $r } map { #          printf "%s %s\n", $0 =~ /./g if $g[$_] eq 'w' && n($_) } 0 .. 99 

189 рдкрд╛рддреНрд░ - рддреИрдореВрд░ рдиреЛрдЬрд╝рд╛рджреЗрдЬрд╝

рдореЗрд░рд╛ рдирд┐рд░реНрдгрдп рдмреНрд░рд╛рдпрди рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рд╡рд░реНрдгреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рджреНрд╡рд╛рд░рд╛ рдХрдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: $ # рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдЖрдХрд╛рд░ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕реНрдерд┐рд░ 89 рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ /\d$/ by /\d$/ ред

 #!perl -ln0aF// sub c{my$s=pop;$s=~/-|9/||$g[$s]eq'b'||$g[$s]=~/w/*!grep{$g[$s]='b';!c($s+$_)}1,-1,10,-10}map{@g=@F;$g[$_]='b';/.$/,print$`+1,$",$&+1if$F[$_]=~/ /*grep{$g[$_]eq'w'&&c$_}0..89}0..89 

рдЕрдореВрд░реНрдд
 #!perl -ln0aF// #   : # -n  ┬лwhile () { тАж }┬╗  ; # -0     ,    ; # -a  ,       @F; # -F//  -a   ; # -l      print. #   ┬л┬╗  sub c { my $s = pop; #  ,  #      (   ), $s =~ /-|9/ #     , || $g[$s] eq 'b' #         . || $g[$s] =~ /w/ * !grep { $g[$s] = 'b'; !c( $s + $_ ) } 1, -1, 10, -10; } #     . map { #  . @g = @F; #      . $g[$_] = 'b'; # ,     ,        #      . /.$/, print $`+ 1, $", $& + 1 if $F[$_] =~ / / * grep { $g[$_] eq 'w' && c $_} 0 .. 89 } 0 .. 89 

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдореМрд▓рд┐рдХ рд╕реБрдзрд╛рд░ рдХреА рдЙрдореНрдореАрдж рд╢рд╛рдпрдж рд╣реА рдХреА рдЬрд╛рдПред

рдФрд░ рдлрд┐рд░ рд╣рдордиреЗ рдкреЗрд░рд▓реЛрдирдХреНрд╕ рдореЗрдВ рдЯрд╛рдЗрдЯрдиреНрд╕ рдХреА рд▓рдбрд╝рд╛рдИ рджреЗрдЦреАред

175 рдкрд╛рддреНрд░ - рдмреНрд░рд╛рдпрди рдореИрдХрдХреЙрд▓реА

рдореЗрд░реЗ рд╕рдорд╛рдзрд╛рди рд╕реЗ рд╕рд░реНрдЧреЗрдИ рдХреА рд╕рд▓рд╛рд╣ рдФрд░ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдмреНрд░рд╛рдпрди рдиреЗ рдЕрдкрдиреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд▓рд┐рдпрд╛ред

 #!perl -ln0 map{$i=$-[0]+11;{map{1while s/w((?<=W.{10})|(?<=W.)|(?=.{9}W|W))/W/s;/W((?<= .{10})|(?<= .)|(?=.{9} | ))/s||$i=~/./+print("$& $'")+last}"$`W$'"while/w/g}}"$`x$'"while/ /g 

рдЕрдореВрд░реНрдд
 #!perl -ln0 #  ,       . map { $i = $-[0] + 11; #     . { map { 1 while s/w((?<=W.{10})|(?<=W.)|(?=.{9}W|W))/W/s; /W((?<= .{10})|(?<= .)|(?=.{9} | ))/s || $i =~ /./ + print("$& $'") + last } "$`W$'" while /w/g } } "$`x$'" while / /g 

127 рдкрд╛рддреНрд░ - рдЧрдВрднреАрд░

PerlMonks рдХреЗ рд╕рд╛рде рдЧрдВрднреАрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдмреНрд░рд╛рдпрди рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ 127 рд╡рд░реНрдгреЛрдВ рдХреЗ рд╢рд╛рдирджрд╛рд░ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП regexp рд╡рд┐рдХрд▓реНрдк рд▓рд╛рдпрд╛!

 #!perl -ln0 map{1while$,=s=$,w=g=s?'(g|(?=.g|..{9}g)|g.{9})\K':/g/>/$, /s&&map{y!.! !;print;redo}/x/+"@+E-1"or y&g&b&}"$`x$'"while/ /g 

рдЕрдореВрд░реНрдд
 #!perl -ln0 #      ┬лx┬╗. map { 1 while $, = #       g. # ( $,    ,    #        .) s=$,w=g=s #        . ? '(g|(?=.g|..{9}g)|g.{9})\K' #     ,     , #    . : /g/ > /$, /s && map { #  @+        /x/, # . .     . #     (/x/)     , #  -1  (E-1).     ┬л.┬╗  ┬л ┬╗, #    . y!.! !; print; redo } /x/ + "@+E-1" #      тАФ     #    . or y&g&b& } "$`x$'" while / /g 

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

рдЦреИрд░, regexp рдирд┐рд░реНрдгрдпреЛрдВ рдХреА рдЕрдЬреЗрдпрддрд╛ рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдЪрд┐рдд рд╣реИред рдпрд╣ рдПрдХ рдЕрджреНрднреБрдд рдкрд░рд┐рдгрд╛рдо рд╣реИ рдФрд░ рдЗрд╕реЗ рд╣рд░рд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдлреЗрд░реАрд╡рд╛рд▓реЛрдВ рдХреЗ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рд╛рд╣рд╕ рдФрд░ рд▓рдбрд╝рд╛рдИ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдЬрд╛рдирддреЗ рд╣реБрдП, рд╣рдо рдЕрдкрдирд╛ рд╣рд╛рде рдЖрдЬрдорд╛рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреЗ рд╣реИрдВред рдЬреЛ рдХреЛрдИ рднреА рд╡рд░реНрддрдорд╛рди рдиреЗрддрд╛ (127 рдкрд╛рддреНрд░реЛрдВ) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ (рдпрд╛рдиреА, рдХрдо) рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реИ, рдЙрд╕реЗ REG.RU рд╕реЗ рдПрдХ рдЙрдкрд╣рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдУ рдпрд╛ рдбреЛрдореЗрди . рдЬреЛрди рдФрд░ VPS рдореЗрдВ 6 рдорд╣реАрдиреЗ рддрдХ рдХрд┐рд╕реА рднреА рджрд░ рдкрд░ рдПрдХ рдЙрдкрд╣рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛! рдирд┐рд░реНрдгрдп cont@reg.ru рдкрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ ред рдХреЗрд╡рд▓ рдирд┐рд░реНрдгрдп рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд╛рдУ!

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


All Articles