7. Марракеш

Не решаласьСредняя

Финал чемпионата мира ACM ICPC 2015 года прошел в городе Марракеш, но задача не о финале, а о настольной игре с таким же названием. В игре используется поле 7×77 \times 7 клеток и стандартный шестигранный кубик. Будем считать, что строки игрового поля пронумерованы от 11 до 77 с севера на юг, а столбцы от 11 до 77 с запада на восток. В центральной клетке поля (ее координаты (4,4)(4,4)) стоит фигурка хозяина рынка Ассама, ориентированная лицом на север.

В задаче мы будем использовать немного упрощённые правила игры для двух игроков. Изначально у каждого из них есть по 30 ковриков своего цвета размера 2×12 \times 1 и по 30 монет.

В любой момент игры, для каждой клетки, покрытой хотя бы одним ковром клетки, назовём её верхним ковром такой ковёр, который покрывает эту клетку, и был положен на нее позже всего. Считается, что каждому игроку принадлежат те клетки, верхние ковры которых принадлежат этому игроку.

Два игрока по очереди делают ходы по следующим правилам.

  • Нужно решить, будет ли меняться направление движения фигурки (сохранить направление, повернуть налево, повернуть направо).

  • Бросить кубик.

  • Переместить фигурку на выпавшее на кубике число ячеек в текущем направлении. Если во время движения фигурка выходит за границы игрового поля, то ее направление и позиция изменяется в соответствии с линиями на рисунке ниже. Например, после шага на восток из клетки (5,7)(5,7) фигурка Ассама окажется в клетке (4,7)(4,7) и будет ориентирована лицом на запад. А после шага на юг из клетки (7,1)(7,1) она останется в той же позиции, но станет ориентирована на восток.

  • Если после перемещения фигурка оказывается на клетке (x,y)(x, y), принадлежащей другому игроку, то текущий игрок отдает другому столько монет, сколько в данный момент составляет размер компоненты связности, состоящей из принадлежащих противнику клеток, включающей в себя (x,y)(x, y).

  • Игрок размещает свой ковер на игровом поле, при этом новый ковер может накрывать любые клетки (свободные, накрытые своим ковром или накрытые ковром противника), одна из клеток нового ковра должна быть соседней к северу, югу, западу или востоку от фигурки Ассама, а вторая клетка не может совпадать с текущим положением фигурки. После этого новый ковер оказывается верхним среди лежащих в обеих этих клетках, то есть эти клетки теперь принадлежат текущему игроку. Ковер разрешается класть как горизонтально, так и вертикально.

Обратите внимание, что при вычислении компоненты связности учитываются только соседние по стороне клетки поля. Принадлежность клетки игроку определяется верхним ковром на клетке.

image

Очками игрока в конце игры является сумма имеющихся монет и количества принадлежащих ему клеток игрового поля.

Вам даны произошедшие в игре ходы, определите по ним финальный счет!

Формат ввода

Первая строка содержит целое число nn (1n601 \le n \le 60) - количество выполненных ходов.

Каждая из последующих строк содержит запись одного хода [FORWARD|LEFT|RIGHT] [1|2|3|4|5|6] [NSWE] [NSWE].

Первый токен соответствует изменению направления (FORWARD означает сохранение направления, LEFT поворот фигурки налево, RIGHT - поворот фигурки направо). Второй токен - выпавшему числу на кубике. Третий - по какую сторону от финишной клетки игрок разместил первую клетку нового ковра (север, юг, запад или восток). Четвертый - в каком направлении от первого квадрата расположен второй квадрат ковра.

Гарантируется, что во всех тестах игроку хватит монет, чтобы рассчитаться за нахождение на ковре противника.

Формат вывода

Выведите через пробел количество очков первого игрока и второго игрока.

Ограничения

Ограничение времени

1 с

Ограничение памяти

256 МБ

Пример 1

Ввод
6
RIGHT 1 S W
FORWARD 2 W S
FORWARD 2 S W
FORWARD 3 E N
FORWARD 4 E E
FORWARD 3 W W
Вывод
36 33

Пример 2

Ввод
7
LEFT 3 E E
LEFT 5 E E
FORWARD 2 W W
FORWARD 3 W N
LEFT 5 N W
FORWARD 3 W W
FORWARD 1 S S
Вывод
36 37

Теги

Нужно войти, чтобы отправить решение.Войти