рд╕реНрд▓реЛрд╡реЛрдордирд┐рдЖ - рд╢рдмреНрджреЛрдВ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдПрдВред рднрд╛рдЧ 1, рд░реВрдмреА

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

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

рддреЛ рдЪрд▓рд┐рдП рдЪрд▓рддреЗ рд╣реИрдВред рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛:
  1. рд╣рдо рдкрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕рдВрднрд╡ рд▓реЗрдЖрдЙрдЯ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЙрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ
  2. рд╢рдмреНрджрдХреЛрд╢ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдорд┐рд▓рд╛рди рдХрд░реЗрдВ
  3. рдпрджрд┐ рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рд╡рд┐рдХрд▓реНрдк рдкрд╛рдпрд╛ рдЧрдпрд╛ - рд╢рдмреНрдж рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ

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

рдореЗрд░реЗ рд╕рд┐рд░ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо:
  1. рд╣рдо рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ (x, y) рдХреЗ рд╕рд╛рде рд╕реЗрд▓ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ (рдореИрдВрдиреЗ рдореВрд▓ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдмрд╛рдПрдВ рдХреЛрдиреЗ рдХреЛ рд▓рд┐рдпрд╛)ред рд╣рдо рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ (рдкрде) рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реВрдЪреА рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕реЗрд▓ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВред
  2. рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рджрд┐рд╢рд╛ (рдЙрддреНрддрд░, рджрдХреНрд╖рд┐рдг, рдкрд╢реНрдЪрд┐рдо, рдкреВрд░реНрд╡, рдЙрддреНрддрд░-рдкреВрд░реНрд╡, рджрдХреНрд╖рд┐рдг-рдкреВрд░реНрд╡, рджрдХреНрд╖рд┐рдг-рдкрд╢реНрдЪрд┐рдо рдФрд░ рдЙрддреНрддрд░-рдкрд╢реНрдЪрд┐рдо) рдореЗрдВ рдПрдХ рд╕реЗрд▓ рд▓реЗрддреЗ рд╣реИрдВред
  3. рдкреНрд░рддреНрдпреЗрдХ рдкрде рдХреЗ рд▓рд┐рдП рд╣рдо рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдПрдХ рдирдИ рд╕реВрдЪреА рдмрдирд╛рддреЗ рд╣реИрдВ
  4. рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рд╕реВрдЪрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдо рд╢рдмреНрдж рдмрдирд╛рддреЗ рд╣реИрдВ
  5. рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рд╢рдмреНрдж рд╣реИрдВ (рдпрджрд┐ рдХреЛрдИ рд╣реИ, рддреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рджрд┐рдЦрд╛рдПрдВ)
  6. рдкреНрд░рддреНрдпреЗрдХ рдирдИ рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП, рдЪрд░рдг 2 рдкрд░ рдЬрд╛рдПрдВ рдЬрдм рддрдХ рдХрд┐ рд╣рдо рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╢рдмреНрдж рд▓рдВрдмрд╛рдИ (рдпрд╛рдиреА рд╕рдордиреНрд╡рдп рд╕реВрдЪреА рдХреА рд▓рдВрдмрд╛рдИ) рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддреЗред рд▓рдВрдмрд╛рдИ рджреЛ рдХрд╛рд░рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ: рдЦреЗрд▓ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рд╢рдмреНрдж рд▓рдВрдмрд╛рдИ, рдпрд╛ рд╣рдорд╛рд░реА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╢рдХреНрддрд┐ред
  7. рдЕрдЧрд▓реА рд╕реЗрд▓ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рд╕рднреА рд╢реБрд░реВ рдХрд░реЗрдВред

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

рдпрд╣рд╛рдБ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

рдЦреЗрд▓ рдиреЗрдЯ

@@w = [ "", "", "", "" ] 


рд╕рдордиреНрд╡рд┐рдд рд╡рд░реНрдЧ

 class Coord attr_accessor :x, :y def initialize(x,y) self.x = x self.y = y end end 


рдкрдбрд╝реЛрд╕реА рдмрд╛рдИрдкрд╛рд╕

 def lookup(coords, deep) print_word coords if deep >= 3 last = coords[-1] #up lookup_next coords, Coord.new(last.x + 1, last.y), deep #up-right lookup_next coords, Coord.new(last.x + 1, last.y + 1), deep #right lookup_next coords, Coord.new(last.x, last.y + 1), deep #right-down lookup_next coords, Coord.new(last.x + 1, last.y - 1), deep #down lookup_next coords, Coord.new(last.x, last.y - 1), deep #left-down lookup_next coords, Coord.new(last.x - 1, last.y - 1), deep #left lookup_next coords, Coord.new(last.x - 1, last.y), deep #left-up lookup_next coords, Coord.new(last.x - 1, last.y + 1), deep end def lookup_next(coords, new_coord, deep) return if deep > 6 return if new_coord.x < 0 or new_coord.y < 0 or new_coord.x > 3 or new_coord.y > 3 unless coords.find{|c|cx == new_coord.x and cy == new_coord.y} lookup coords.dup + [new_coord], deep + 1 end end 


рдПрдХ рд╢рдмреНрджрдХреЛрд╖ рдореЗрдВ рд╢рдмреНрдж рдЦреЛрдЬреЗрдВ рдФрд░ рдЙрд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ

 def print_word coords word = "" coords.each do |c| word += @@w[3 - cy].split('')[cx] end return if @@words.include?(word) @@db.execute( "select * from words where (word)=('#{word}')" ) do |row| return if @@words.include?(word) @@words << word puts word end end 


рд╕рднреА рдкрд╛рдП рдЧрдП рд╢рдмреНрдж рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ @@ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╕рдВрдЧреГрд╣реАрдд рд╣реИрдВ рдЬреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рд╕рдорд╛рди рд╢рдмреНрджреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВред

рд╣рдо рдЦреЛрдЬ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ

 0.upto(3) do |x| 0.upto(3) do |y| lookup [Coord.new(x, y)], 0 end end 


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

 Thread.new { 3.downto(0) do |x| 3.downto(0) do |y| lookup [Coord.new(x, y)], 0 end end } 


рднрд▓реЗ рд╣реА рд╣рдо рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдзреАрдореА рд░реВрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╣реИ рдФрд░ рд╢рдмреНрджреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреЛрдЬрддрд╛ рд╣реИред рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ ncurses, рд╡рд┐рддрд░рд┐рдд рд╕реНрдореГрддрд┐, semaphores, рдФрд░ рд▓рд╛рдареА рдХреЗ рд╕рд╛рде рдПрдХ C рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реВрдВрдЧрд╛ред

рд╕реНрд░реЛрдд рдХреЛрдб
рд╢рдмреНрджрдХреЛрд╢

рдиреНрдпрд╛рдп рдиреЗ рдЬреАрдд рд╣рд╛рд╕рд┐рд▓ рдХреА рд╣реИ: рдЕрдм рдЬреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ рд╡рд╣ рдЬреАрдд рдЬрд╛рдПрдЧрд╛!

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


All Articles