Contest.uni-smr.ac.ru :: соревнования по программированию
Русская версия || English version
Login:
Password:
Забыли пароль?
 пример поиска: Вася Пупкин
 

Реверси

Первоисточник: Казань

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.TXTOUTPUT.TXT
BBW
 WW B
 W W
 WWWB
  WBW
B5  6

Сдать задачу

Задать вопрос жюри по этой задаче