КОМПЬЮТЕРРА


"Уголки" (HELP) 

Автор: Антон Никонов, antonick@mtu-net.ru
Дата публикации:04.11.2000

Соавторство: Константин Кноп


Эта головоломка представляет собой разновидность "морского боя", но с другими фигурами - трехклеточными "уголками". В клетках квадратной таблицы NxN стоят "уголки" (в одной из четырех возможных ориентаций - см. рис.) Числа вдоль краев таблицы, как и во многих других подобных задачах, показывают, сколько клеток данной строки/столбца принадлежит "уголкам". Некоторые из клеток изначально закрашены синим цветом (залиты "водой") - в них уголок находиться не может. Требуется восстановить расположение уголков.

4632.gif (684 bytes)

Расскажем о методике решения данного типа задач на примере квадрата 8х8. Сумма чисел во всех строках равна 18, значит, здесь расположены шесть "уголков". Посмотрим, как можно выяснить их расположение. (Поскольку такие фигуры мной исследуются впервые, я, возможно, ещё не знаю всех особенностей методики решения. Если кто-нибудь заметит что-либо интересное, прошу сообщить. С удовольствием готов обсудить.)

4633.gif (3019 bytes)

Особенностью данной задачи является то, что все фигуры однотипные. Каждый "уголок", как бы он ни был повёрнут, всегда располагается в двух строках и в двух столбцах. Это важная особенность задачи. Данное наблюдение позволяет определить зоны возможного расположения фигур и, в некоторых случаях, сократить варианты их ориентации на поле. Например, если посмотреть на первый и второй столбцы, то нетрудно определить, что в этих столбцах стоят ровно два "уголка". Ни один другой "уголок" не может "заходить" в эти столбцы никакой своей частью. Проанализировав все строки и столбцы, я провел горизонтальные и вертикальные "границы". Эти "границы" пересекаться не могут. Каждый из уголков обязательно должен располагаться внутри одной из 9 полученных областей.

4634.gif (3265 bytes)

Теперь, посмотрев на седьмой столбец, нетрудно сделать вывод, что две клетки снизу от "воды" заняты одним из "уголков". Отмечу их зелёным. Некоторые из окружающих клеток уже можно отметить, как незанятые - поставить "воду". Стало хорошо заметно, что если в этой области есть ещё один "уголок", то он располагается единственным способом. Нетрудно также определить, что во всех остальных областях может располагаться только один "уголок".

4635.gif (3473 bytes)

Исходя из положения "уголков" можно поставить "воду" и в некоторых других клетках. Например "четвёрка" в первом столбце сформирована из двух пар стоящих рядом занятых клеток, а двойка во "втором" из двух одиночных. Сопоставив этот и другой выводы с информацией, полученной при исследовании строк, занял "водой" ещё несколько клеток.

4636.gif (3587 bytes) 

Теперь нетрудно заметить, где в пятой, шестой и седьмой строках стоят два "уголка". Легко определить и точное положение оставшихся уголков. Например, "уголок пятого столбца" не может стоять нигде, кроме как в самом верху. Задача решена! Спасибо за внимание.

4637.gif (3146 bytes)