Читать книгу Основы программирования с Java - Тимур Машнин - Страница 10
Важность представления задачи
ОглавлениеВ задаче 2D квадратных яблок, используя красное и зеленое представления яблок, вы увидите, что есть 5 красных яблок и 4 зеленых яблока.
Каждое движение будет чередовать яблоки разных цветов.
Если начинать с зеленого яблока, тогда не будет больше зеленого яблока после употребления четвертого красного яблока.
В 3D случае, существует 14 красных яблок и 13 зеленых яблок.
Используя те же рассуждения, что и в случае 2D, если начинать с зеленого яблока, тогда не будет больше зеленого яблока после окончания 13-го красного яблока.
Так что решения этой задачи не будет, если червь начинает со средней ячейки, которая содержит зеленое яблоко.
И нам удается сразу найти решение, без необходимости искать все возможные пути, представляя задачу.
На самом деле, тот же аргумент может быть использован для более широкой задачи, скажем 5x5x5, 7x7x7, или даже больше.
Этот пример показывает важность нахождения правильного представления до решения задачи. Это может сэкономить много времени и усилий.