Codeforces Round 191 (Div. 2) |
---|
Закончено |
Наигравшись на бумаге, Яхуб перешел на компьютерные игры. Он играет в игру под названием «Башни из кирпичей». Играется она на прямоугольной таблице, состоящей из n строк и m столбцов (таблица содержит n × m ячеек). Цель игры — построить свой собственный город. Некоторые ячейки таблицы — это огромные дыры, и там Яхуб никакого здания построить не может. Остальные ячейки — пустые. В некоторой пустой ячейке можно построить ровно одну башню одного из двух следующих видов:
Яхубу также разрешено уничтожить здание в любой ячейке. Он может выполнять эту операцию какое угодно количество раз. Уничтожение одного здания не влияет на остальные здания, а ячейка, в которой уничтожили здание, становится пустой (таким образом, Яхуб может, если это нужно, построить башню в этой ячейке — такой случай показан во втором примере).
Яхуб может привезти в свой город столько населения, сколько хочет. Итак, ему нужно построить свой город так, чтобы в нем помещалось как можно больше людей. То есть нужно найти оптимальную последовательность застройки, такую, что итоговый суммарный лимит населения как можно больше.
Яхуб говорит, что в этой игре он лучший, и все же, у него нет оптимального решения. Напишите программу, которая высчитывает оптимальное решение и покажите зазнайке, что он не так уж и крут!
В первой строке содержатся два целых числа n и m (1 ≤ n, m ≤ 500). В каждой из следующих n строк содержится m символов, описывающих таблицу. Если j-ой символ в i-ой строке равен «.», значит, в ячейке с координатами (i, j) разрешается строить башню (пустая ячейка). А если символ равен «#», значит, в ячейке огромная дыра.
В первой строке выведите целое число k (0 ≤ k ≤ 106) — количество операций, которое должен совершить Яхуб, чтобы застроить город оптимально.
Каждая из следующих k строк должна содержать одну из трех описанных операций в формате:
Если существует несколько решений, разрешается вывести любое. Обратите внимание, минимизировать количество операций не требуется.
2 3
..#
.#.
4
B 1 1
R 1 2
R 2 1
B 2 3
1 3
...
5
B 1 1
B 1 2
R 1 3
D 1 2
R 1 2
Название |
---|