Предисловие 2003 года. Шестой турнир прошел в январе-мае 1996 года. Правила игры, как и в пятом турнире были довольно сложными, хотя и естественными. Особенность турнира – в первый (и пока единственный) раз у турнира оказалось два победителя – Сергей Волков и Андрей Усачев добились одинакового количества побед, достигли одинаковой разности очков, и даже в личной встрече выиграли друг у друга по одному разу, и оба раза с разницей в одно (!) очко. Замечу, что трое из участников турнира впоследствии получали медали на междунарожных олимпиадах по информатике, так что турнир был довольно сильный.
СМ

СОСТАВЬ ПРОГРАММУ САМ !

Правила игры и требования к программам. Игра ведется на прямоугольном поле размером 7x5 фишками трех видов, назовем их X, Z и N, на каждой из которых расположены две линии (трубы):

В начальной позиции на игровом поле уже стоят 7 фишек: X-фишки в A1, F3 и G1, Z-фишки в A4 и D1, N-фишки в C3 и E5. Игровое поле и начальная позиция изображены на рисунке 2:

Играют двое. Ходят по очереди. Ход производится следующим образом: фишка любого из трех имеющихся видов ставится в какую-либо свободную клетку игрового поля; при этом хотя бы одна из двух труб на поставленной фишке должна служить продолжением черной линии - по ней должна течь вода. Так, например, в начальной позиции вода течет только по вертикальной трубе в клетке А1, т.е. первую фишку обязательно надо ставить в клетку А2. После того, как фишка поставлена, вода продвигается на столько труб, на сколько это возможно (с учетом уже стоящих фишек). Если у черной линии нет ни одного свободного конца (например, вода уперлась в границу игрового поля, или черная линия замкнулась), то игрок может поставить фишку в любую свободную клетку и пустить воду по любой одной из двух труб поставленной фишки. За каждый ход игрок получает столько очков, по скольки трубам ему удается пропустить воду - провести черную линию (если одним ходом черная линия пройдет по обеим трубам одной какой-нибудь фишки. то игрок получает по очку за каждую из этих двух труб). Когда все клетки заполнены, игра заканчивается. Выигрывает тот, кто наберет больше очков. 

	Рассмотрим для примера начало некоторой условной партии: первый игрок ставит X-фишку в клетку А2 и продолжает черную линию на одну клетку по вертикальной линии; затем своим первым ходом второй игрок ставит Z-фишку в клетку А3, поворачивая тем самым черную линию влево, за что и получает одно очко. Черная линия уперлась в стену - у нее больше нет свободных концов. Значит, первый игрок может теперь ставить фишку в любую свободную клетку. Он ставит X-фишку в клетку В3 и пускает в ней воду по горизонтальной линии - черная линия продолжается влево на клетки А3 (на нижнюю трубу фишки) и А4 (на верхнюю трубу фишки) и вправо на нижнюю трубу клетки С3. Этот ход приносит первому игроку сразу 4 очка. Второй игрок теперь обязан ходить в клетку С4. Он и ставит в нее Z-фишку, продлевает черную линию на одну фишку и получает одно очко. Плохо играет второй игрок. Зато первый игрок ставит N-фишку в клетку В4 и получает два очка, протянув черную линию не только по поставленной фишке, но и по вертикальной трубе фишки в клетке В3. Полученная позиция изображена на рисунке 3. 

Если сейчас второй игрок поставит N-фишку в В2. то он получит два очка - линия пройдет по нижней трубе поставленной фишки и по горизонтальной трубе в клетке А2. При этом снова не останется ни одного свободного конца у черной линии (понятно. что в любой момент свободные концы могут быть только у одной черной линии), и первый игрок сможет поставить фишку в любую свободную клетку игрового поля. хотя бы и в Е2.

Программы играют между собой матчи из 2-4 партий, начиная попеременно. В случае равного количества побед в матче или турнире преимущество отдается той программе, которая имеет лучшую разность очков.

Программы должны работать на IBM-совместимых ЭВМ и располагают таким ресурсом: оперативная память 4 Мбайт, графический адаптер VGA; на машине с процессором 80486DX2 с тактовой частотой 66 МГц программе дается 2 минуты на партию. Разумеется, программа может быть написана и отлажена на любом IBM-совместимом компьютере. Допускается применение любых языков или систем программирования. Предъявлять исходный текст программы не обязательно - необходимо лишь сдать дискету с исполняемым файлом (или пакетом необходимых файлов). Время, пока ищет ход программа противника, не учитывается. Время, затраченное программой от начала загрузки до ее первого хода, учитывается. Ограничений по времени на каждый отдельный ход нет, лишь бы суммарное время не превышало 2 минут. Обмен с жестким диском запрещен. Минимальные требования к внешнему виду программы - ясное однозначное указание, какой именно ход сделан: какая фишка и в какую клетку поставлена, по какой трубе пускать воду, если фишка начинает новую линию. Программа обязательно должна обеспечивать ввод ходов с клавиатуры и предоставлять четкие указания по организации ввода. Для этого можно использовать перемещения курсора, можно использовать двойную нумерацию клеток (как на рисунках 2 и 3) и т.д. Можно дублировать ввод с помощью мыши. Диалог с пользователем может быть организован на любом языке. Попытка сделать запрещенный ход (например, поставить фишку в занятую клетку или не продолжить черную линию при наличии у той хотя бы одного свободного конца) или неспособность программы воспринять корректный ход соперника, также как и нарушение лимита времени, наказывается - программе засчитывается поражение со счетом 0:7.

И, как обычно, несколько задач для разминки. Лучшие решения этих задач также будут отмечены. 
1.	Какое наибольшее и какое наименьшее количество очков могут набрать в сумме оба игрока?
2.	Какое наибольшее количество очков в одной партии может набрать победитель?
3.	Какой наибольшей разности набранных очков может добиться победитель?
4.	По ходу игры на поле образуются черные линии двух видов: линии, упирающиеся в края игрового поля обеими концами, и замкнутые линии. Определить максимально возможную длину замкнутой линии, которая может получиться в игре. Длиной линии мы называем количество труб, по которым она проходит.
Во все задачах предполагается, что оба игрока стремятся к поставленной цели, играя кооперативно.