Codeforces Beta Round 68 |
---|
Закончено |
Имеется квадратная коробка размера 6 × 6, в которые помещены 36 фишек 1 × 1. На этих фишках записаны 36 различных символов — «0»-«9» и «A»-«Z». На каждой фишке записан ровно один символ, все фишки различны.
Разрешается делать следующие операции — выбрать одну из 6 строк или один из 6 столбцов и циклически передвинуть там фишки на одну позицию влево или вправо (для строки), или же вверх или вниз (для столбца). Эти операции разрешается проводить несколько раз.
Собрать головоломку означает вышеуказанными операциями переместить фишки так, чтобы они оказались записаны в порядке возрастания (ровно так, как на правом рисунке). Пример сборки головоломки показан на рисунке ниже.
Напишите программу, которая находит последовательность операций, которые собирают головоломку. Эта последовательность не обязательно должна быть кратчайшей, но Вы должны уложиться в 10000 операций. Гарантируется, что решение всегда существует.
Входные данные представляют собой 6 строк по 6 символов в каждой — начальное положение головоломки. Эти строки содержат каждый из символов строки «0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ» ровно один раз.
В первой строке выведите число n — количество операций. В следующих n строках выведите последовательность операций по одной на строку. Операция записывается словом из двух символов. Первый символ — направление, куда будет сдвинуты строка или столбец. Возможные направления: «L», «R» (влево, вправо соответственно, сдвигаем строку), «U», «D» (вверх, вниз соответственно, сдвигаем столбец). Второй символ — номер строки (или столбца) — цифра от «1» до «6». Строки нумеруются сверху вниз, а столбцы — слева направо.
Количество операций не должно превышать 104. Если решений несколько — выведите любое.
01W345
729AB6
CD8FGH
IJELMN
OPKRST
UVQXYZ
2
R2
U3
Название |
---|