Nonogram Hub
Nonogram Hub

Розв'язання по рядках: один рядок чи стовпець за раз

Майже будь-яка нонограма насправді розв'язується однаково: не поглядом на всю сітку, а взяттям одного рядка чи стовпця й вичавлюванням із нього кожної змушеної клітинки, перш ніж рухатися далі. Це і є розв'язання по рядках, а знайомі вам прийоми перетину й країв — насправді лише його окремі випадки. Опанувавши загальний метод, ви матимете надійну процедуру без вгадування, що працює на головоломці будь-якого розміру.

Що може підказати один рядок

Підказки рядка описують цей рядок повністю, незалежно від решти сітки: числа — це блоки зафарбованих клітинок, по порядку, розділені щонайменше однією порожньою. Тож перш ніж дивитися, як рядок взаємодіє зі своїми стовпцями, можна поставити вужче питання — маючи лише ці підказки й цю довжину, які клітинки мусять бути зафарбовані, а які порожні, незалежно від того, де саме опиняться блоки?

Відповідь часто — «деякі з них», і пошук цих змушених клітинок по одному рядку за раз і є всім рушієм розв'язання. Рядок рідко завершується за один прохід, але майже завжди дає щось нове — і це нове стає підказкою для кожного рядка, що його перетинає.

Притисни ліворуч, притисни праворуч, лиши перетину

Ось загальний метод, що охоплює будь-який рядок, зі скількома завгодно підказками. Подумки посуньте всі блоки якомога лівіше (або вище), дотримуючись їхнього порядку та проміжків в одну клітинку між ними. Потім зробіть те саме якомога правіше (або нижче). Будь-яка клітинка, яку той самий блок покриває в обох крайніх укладаннях, ніколи не може бути порожньою — вона змушено зафарбована.

Візьмімо рядок із 10 клітинок і підказки 3 4. Притиснуті вліво, блоки стоять на клітинках 1-3 і 5-8. Притиснуті вправо — на 3-5 і 7-10. Порівняйте: перший блок покриває клітинку 3 обидва рази, а другий покриває клітинки 7 і 8 обидва рази. Отже клітинки 3, 7 і 8 гарантовано зафарбовані, і їх можна одразу позначити — хоча ви ще не знаєте, де точно починається кожен блок.

Це і є прийом перетину, лише узагальнений: для однієї довгої підказки він зводиться до знайомого «посунь до обох країв», але формулювання «притисни ліворуч — притисни праворуч» продовжує працювати, коли в рядку два, три чи більше блоків — а саме там оцінка перетину на око починає підводити.

Повертай відомі клітинки назад у рядок

Розв'язання по рядках стає значно сильнішим, коли рядок уже містить якусь інформацію від своїх перетинів. Клітинка, позначена порожньою (✕), працює як стіна: вона розбиває рядок на коротші відрізки, і кожен блок мусить уміститися цілком в одному відрізку — що часто фіксує блоки, які мить тому були вільні. Зафарбована клітинка закріплює той блок, який мусить її покривати, тож ви можете продовжити цей блок і поставити межі на його кінцях.

Ось чому розв'язання — це цикл, а не один прохід. Опрацюйте рядок, наскільки він піддається, і його нові позначки — і зафарбовані клітинки, і ✕ — переходять униз у кожен стовпець, що його перетинає. Опрацюйте ті стовпці — і їхні нові позначки повертаються назад у рядки. Кожен рядок стає розв'язним трохи далі щоразу, коли один із його перетинів отримує інформацію.

Коли рядок наразі завершено

Рядок «наразі завершено», коли його поточні підказки й відомі клітинки більше нічого не змушують — не обов'язково коли він повністю заповнений. Не застрягайте, перемелюючи один упертий рядок; позначте все, що він зараз змушує, і переходьте до рядка, який отримав найбільше нової інформації від часу, коли ви на нього дивилися. На добре зробленій головоломці такий обхід рядків і стовпців щоразу відкриває свіжі висновки, аж поки картинка не заповниться повністю.

Якщо ви обійшли все коло й ніде справді нічого не рухається — це не головоломка, що потребує вгадування: ви пропустили висновок на якомусь рядку. Правильно складена нонограма має рівно один розв'язок, досяжний чистою логікою, тож змушена клітинка завжди є; розв'язання по рядках — це просто дисципліна її знаходити.

Поширені запитання

Чи розв'язання по рядках — це те саме, що метод перетину?

Метод перетину — це розв'язання по рядках, застосоване до одного довгого блоку: ви посуваєте його до обох країв і лишаєте клітинки, які він покриває обидва рази. Загальний прийом «притисни ліворуч, притисни праворуч» робить те саме для рядків із будь-якою кількістю блоків, тож перетин — лише його найпростіший випадок.

Чи доведеться вгадувати, якщо користуватися лише розв'язанням по рядках?

Ні. На чесній нонограмі з єдиним розв'язком повторне розв'язання по рядках кожного рядка й стовпця — з поверненням нових позначок у перетини — гарантовано завершує головоломку. Якщо ви застрягли, є змушена клітинка, яку ви проґавили, а не справжній глухий кут.