Олимпиадный тренинг

Задача . 2D Conveyor Belt


Задача

Темы:
п»ї

Молочная фабрика Фермера Джона может быть описана решёткой из \(N\) * \(N\) ячеек (\(1 \le N \le 1000\)), которые содержат конвейерные ленты. Позиция (\(a,b\)) описывает ячейку, которая находится в строке \(a\) сверху и столбце \(b\) слева. �меется \(5\) типов ячеек.

  1. "L" — перемещает все элементы на 1 ячейку влево каждую единицу времени.
  2. "R" — перемещает все элементы на 1 ячейку вправо каждую единицу времени.
  3. "U" — перемещает все элементы на 1 ячейку вверх каждую единицу времени.
  4. "D" — перемещает все элементы на 1 ячейку вниз каждую единицу времени.
  5. "?" — ФД не построил ещё конвейерный двигатель в этой ячейке.

Заметим, что конвейеры могу перемещать элементы за решётку. Ячейка \(c\) является неиспользуемой если предмет, размещенный в ячейке \(c\) никогда не покинет решётку, он будет всегда двигаться внутри решётки.

�значально, ФД ещё не начал строить фабрику, поэтому все ячейки содержат "?". Для следующих \(Q\) (\(1 \le Q \le 2 \cdot 10^5\)) дней начиная со дня \(1\) и заканчивая днём \(Q\), , ФД выбирает свободную ячейку и строит в ней конвейер.

А именно, в течение \(i\)-го дня ФД строит конвейер типа \(t_i\) (\(t_i \in {\text{{L,R,U,D}}}\)) в позиции (\(r_i,c_i\)) (\(1 \le r_i,c_i \le N\)). Гарантируется, что конвейера нет в позиции (\(r_i,c_i\)).

После каждого дня помогите ФД найти минимальное количество неиспользованных ячеек, которое он может достичь, оптимально строя конвейеры во всех оставшихся свободных ячейках.

ФОРМАТ ВВОДА (с клавиатуры / stdin):

Первая строка содержит \(N\) и \(Q\).

\(i\)-ая из \(Q\) строк содержит \(r_i\), \(c_i\), \(t_i\) в этом порядке.

ФОРМАТ ВЫВОДА (на экран / stdout):

\(Q\) строк, \(i\)-ая из которых описывает минимальное количество неиспользованных ячеек, если ФД оптимально построит конвейеры во всех оставшихся свободных ячейках без конвейеров.

ПР�МЕР ВВОДА:

3 5
1 1 R
3 3 L
3 2 D
1 2 L
2 1 U

ПР�МЕР ВЫВОДА:

0
0
0
2
3
Конвейеры после 5-го дня показаны ниже

RL?
U??
?DL

Один оптимальный способ построить конвейер в оставшихся ячейках представлен ниже.

RLR
URR
LDL
В этой конфигурации ячейки (\(1, 1\)), (\(1, 2\)), (\(2, 1\)) - неиспользуемые.

ПР�МЕР ВВОДА:

3 8
1 1 R
1 2 L
1 3 D
2 3 U
3 3 L
3 2 R
3 1 U
2 1 D

ПР�МЕР ВЫВОДА:

0
2
2
4
4
6
6
9
Конвейеры после 8-го дня показаны ниже.

RLD
D?U
URL
Вне зависимости от того, какой конвейер ФД поставит в центр, все ячейки будут неиспользуемые.

ПР�МЕР ВВОДА:

4 13
2 2 R
2 3 R
2 4 D
3 4 D
4 4 L
4 3 L
4 2 U
3 1 D
4 1 R
2 1 L
1 1 D
1 4 L
1 3 D

ПР�МЕР ВЫВОДА:

0
0
0
0
0
0
0
0
11
11
11
11
13

ОЦЕН�ВАН�Е:

  • Тесты 4-5: \(N \le 10\)
  • Тесты 6-7: \(N \le 40\)
  • Тесты 8-13: Нет дополнительных ограничений

Автор: Alex Liang

Примеры
Входные данныеВыходные данные
1 3 5
1 1 R
3 3 L
3 2 D
1 2 L
2 1 U
0
0
0
2
3

time 500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя