Торпедный бой

Jun 09, 2008 12:08

Придумалась вариация игры в "морской бой".

Один игрок на клетчатом поле 10*10 располагает корабли: 4-трубный, два 3-трубных, три 2-трубных, четыре 1-трубных. Корабли не касаются друг друга.
Второй игрок пускает с берега "торпеды" - вдоль какой-то горизонтали (справа или слева) или вдоль какой-то вертикали - сверху или снизу. Пущенная торпеда двигается вдоль выбранной линии. Если на этой линии нет кораблей, игрок получает информацию "мимо". Если на линии есть корабли, торпеда попадает в первую на своем пути трубу. В этом случае, если у корабля нет больше неподбитых труб, он "убит" (и идет на дно, так что больше не мешает движению торпед). Если у корабля еще остались неподбитые трубы, то он "ранен" - и остается на плаву, в том числе и подбитые трубы. В одну и ту же трубу корабль можно ранить произвольное количество раз.
Цели игры. Второй игрок стремится потопить все корабли за возможно меньшее число ходов. Первый игрок стремится расставить корабли так, чтобы второй потратил как можно больше торпед.

Игру можно варьировать, чтобы получить наиболее интересный ее вариант:
1. Прямоугольное поле произвольных размеров m*n.
2. Количество и размеры кораблей.
3. Корабли могут касаться друг друга и даже граничить бортами.
4. Варианты с возможностью передвижения кораблей во время игры, наверное, слишком ее усложнят.

Вот несколько задач на эту игру.
Задача 1 (математика). На поле 3*3 расположены а) 2, б) 3 двухтрубных корабля (кораблям разрешается граничить друг с другом). За какое минимальное число ходов наверняка можно потопить все эти корабли?
Задача 2 (программирование). Поле (2n)*(2n) заполнено 2*n^2 двухтрубными кораблями. Придумать алгоритм, позволяющий потопить все эти корабли за 4*n^2 ходов.
Десятый тур словесных игр во имя дня рождения Пушкина начался довольно вяло. :( Ладно я, за Александра Сергеевича обидно.
Между тем, все загадки решаемы.:) А над первой из них даже думать не надо (таково условие).

Игры, Задачи

Previous post Next post
Up