ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1016. Кубик на прогулке

Ограничение времени: 2.0 секунды
Ограничение памяти: 64 МБ
Кубик поставили на некоторую клетку обычной шахматной доски. Длина ребра кубика в точности равна длине стороны клетки доски. На каждой грани кубика записано целое число в пределах от 0 до 1000. На разных гранях могут быть записаны разные числа. Перекатывая кубик через рёбра основания, можно переместить его в соседнюю ячейку. В ходе перекатываний считается сумма чисел на нижней грани кубика (каждое число входит в сумму столько раз, сколько раз данная грань является нижней для кубика). Найдите маршрут кубика между двумя заданными клетками доски с минимальной суммой чисел на нижней грани. Числа на нижней грани перед началом перекатываний и после их окончания также входят в сумму. Начальная и конечная позиции различны.

Исходные данные

Все данные расположены в единственной строке и разделены пробелами. Сначала даны начальная и конечная позиции на доске в стандартной шахматной нотации (символ от ‘a’ до ‘h’ и цифра от ‘1’ до ‘8’). Затем даны 6 чисел, записанных в начальный момент времени на ближней, дальней, верхней, правой, нижней и левой гранях кубика соответственно.

Результат

Выведите в единственной строке через пробел минимальную сумму чисел и оптимальный маршрут. Маршрут должен представлять собой последовательность клеток доски, записанных в шахматной нотации, во время движения кубика. Маршрут должен начинаться с начальной позиции и оканчиваться конечной.

Пример

исходные данныерезультат
e2 e3 0 8 1 2 1 1
5 e2 d2 d1 e1 e2 e3
Источник задачи: Ural State University Internal Contest '99 #2