Задача D. 2048(failed)

Автор:М. Спорышев   Ограничение времени:5 сек
Ввод / вывод:интерактивный   Ограничение памяти:256 Мб

Условие

2048!

Данная задача является интерактивной.

Задача состоит в прохождении игры 2048 с наилучшим результатом.

2048 играется на поле N × M клеток. Клетки, в которых записаны числа, сдвигаются по нажатию пользователем клавиш курсора.

После каждого хода в случайном пустом поле появляется число 2, либо 4. Клетки сдвигаются в заданном пользователем направлении, пока их не остановит либо другая непустая клетка, либо граница поля.

Если две клетки с одинаковыми числами сталкиваются друг с другом во время сдвига, они объединяются в одну клетку с числом равным их сумме.

Клетка не может быть объединена с другими более одного раза во время сдвига. Клетки сдвигаются и объединяются последовательно от первого к последнему в направлении движения.

Протокол взаимодействия

На каждом шаге взаимодействия ваша программа должна:

  1. Считать текущее состояние игрового поля
  2. В выходной поток вывести код команды сдвига (влево, вправо, вверх, вниз)

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

Первая строка входного потока состоит из двух чисел N и M  — размеры поля.

Далее следует N строк по M чисел, задающих каждую клетку. 0  — если клетка пустая.

Входной поток содержит единственное число  —  − 1, если игра окончена.

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

В выходной поток необходимо вывести единственный символ, характеризующий направление сдвига.

Символ 'l'  — движение плиток влево, 'r'  — вправо, 'u'  — вверх, 'd'  — вниз.

Ограничения

Количество шагов не превышает 106

2 ≤ N, M ≤ 10


0.168s 0.017s 13