Реверси
Первоисточник: Казань
URL первоисточника: http://www.icl.ru/images/tournament/Problems/train/train5.htm
Задачу добавил: alef
Успешно сдано решений: 5
Настольная игра “Реверси” популярна во многих странах. Два игрока по очереди выставляют на доску размерами 8х8 черные и белые шашки. Цель игры - перевернуть шашки противника (после переворачивания шашка меняет свой цвет на противоположный). Одна (или несколько шашек одного цвета стоящих подряд либо по вертикали, либо по горизонтали, либо по диагонали) переворачиваются, если оказываются “зажатыми” между двумя шашками противника.
На рисунке две позиции – до и после хода черных в клетку b5. В результате хода черных шесть белых шашек (3 по вертикали, 2 по диагонали и 1 по горизонтали) переворачиваются.
Требуется написать программу, которая в заданной позиции находит самый жадный ход за черных, т.е. ход, при котором переворачивается наибольшее число белых шашек, либо определяет, что ход сделать невозможно, т.е. в этой позиции никаким ходом нельзя перевернуть ни одной шашки противника.
Входной файл INPUT.TXT
Cодержит позицию – восемь строк по 8 символов в каждой (B-черная шашка, W-белая шашка, пробел – пустая поле).
Выходной файл OUTPUT.TXT
Должен содержать позицию шашки, поставленной на доску, и количество перевернутых при этом ходе белых шашек или Pas, если ход сделать невозможно.
Пример
INPUT.TXT | OUTPUT.TXT |
BBW WW B W W WWWB WBW | B5 6 |