Моя круче умеет (на A* 2). :р Правда, все равно тупая. :) Иногда такие триллеры получаются — никаких мультиков не надо (Replay -> вставить -> Load -> Start).
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, clickfraudprotection, Вы писали:
К>>>Для поля (2n-1)*(2n-1) с выколотой точкой (2,2) есть цикл? Если да, то и с выколотой точкой (1,1) есть, и именно такой, какой нам нужен. К>>>Завтра придумаю, как он выглядит.
C>>http://en.wikipedia.org/wiki/De_Bruijn_sequence C>>так. "змея" максимум семимерная.
К>При чём здесь последовательность де Брёйна?
гамильтонов путь самый длинный возможен только в них.
От выколотого угла
— в одну сторону — идём по краю поля
— в другую сторону — обходим квадрат (2n-1)×(2n-1) "волнами": {вниз, влево, вправо, вверх}
Затем
— в одну сторону — идём дальше по краю поля
— в другую — обходим оставшийся прямоугольник чётной ширины: {вверх, вниз}
И встречаемся в углу, противоположном выколотому.
Как построить многомерную змейку в гиперпрямоугольнике с нечётными сторонами — это отдельная интересная тема...
Здравствуйте, clickfraudprotection, Вы писали:
К>>При чём здесь последовательность де Брёйна? C>гамильтонов путь самый длинный возможен только в них.
Всё равно не уловил, как это.
Вот у нас есть, к примеру, 8-мерный куб с чётной длиной ребра. И что, хочешь сказать, в нём невозможно построить гамильтонов цикл?
Контрпример элементарный. Рассмотрим 8-куб с ребром 2. Каждой клетке соответствует, очевидно, 8-разрядный двоичный вектор.
Строим код Грея, и готово!
Ну почему же? Примерно так же это выглядело хрен-знает-сколько-лет назад у меня на Nokia 3310, только там всё было ещё хуже: во-первых, еда исчезала, если не сожрать, через некоторое время, плюс типов еды было два или даже больше (больший кусок давал больше прироста хвосту). Классная игра, вообще-то.
К>Ну и этюд для программистов: придумать алгоритм управления змейкой.
встречал похожий этюд. найти минимальную и максимальную длину и ширину поля при котором не существует выигрышной стратегии у змейки (яйцом играет компьютер). игра пошаговая (как в уфо), т.е. не на реакцию. яйцо не может дважды выпадать на том же месте. змейка увеличивается на одну клетку каждый второй шаг. яйцо ждет N шагов, где N это сумма длины и ширины игрового поля, после чего перебазируется.
я нашел решение если яйцо ждет C ходов, где C не зависит от размеров поля и достаточно велико. а когда все взаимосвязано, то тут я туплю. жопой чувствую, что решение есть, а найти не могу. минимальную конфигурацию можно найти методом перебора. там и перебирать нечего. а максимальную? размер змейки растет квадратично (с увеличением поля), а "ожидание" змейки -- линейно.
и странное доп. условие, что на одну и ту же клетку яйцо не попадает дважды. из чего следует, что змейке можно выиграть тупо вращаясь в цикле пока яйцо не обойдет все клетки. но что-то я все проигрываю да проигрываю. яйцо в самую последнюю минуту падает там где был хвост, а я никак не могу до него дотянуться. а если не дотянулся -- то все. змейка проиграла. а надо чтобы она съела и следующему яйцу некуда было упасть (змейка заняла все клетки или яйцо на них уже успело побывать).
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.