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

Открытый чемпионат УрГУ 2010

Описание     Задачи     Отправить на проверку     Состояние проверки     Результаты
Соревнование завершено

I. Новое слово Джека

Ограничение времени: 0.5 секунды
Ограничение памяти: 64 МБ
Джек немногословен. Он не любит повторять одно и то же несколько раз подряд. Поэтому в двоичном слове, которое Джек недавно написал на заборе, нет непустых подстрок вида xyxyx, где x и y — двоичные строки (возможно, нулевой длины), а длина y не превосходит удвоенной длины x. Например, в слове Джека не могут встречаться подстроки 000 или 1001001, но могут встречаться подстроки 1010 и 001100110.
Проходящий мимо лис По спросил Джека, как тот получил своё новое слово. Джек сказал, что сначала на заборе было написано пустое слово, а потом… Дальнейший рассказ Джека содержит только фразы вида:
  • «Я приписал 0 (или 1) в начало текущего слова»;
  • «Я приписал 0 (или 1) в конец текущего слова»;
  • «Я заменил все нули на строку 01, а все единицы — на строку 10».
Лису По интересно, но больше ста таких фраз он не вытерпит. Успеет ли Джек завершить свой рассказ?

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

В единственной строке записано новое слово Джека. Это слово непустое, состоит только из нулей и единиц, а его длина не превосходит 105.

Результат

Если для описания своего слова Джеку нужно более ста фраз, выведите «−1». В противном случае выведите любое из возможных описаний. В первой строке выведите количество фраз k (1 ≤ k ≤ 100). В следующих k строках перечислите эти фразы в том порядке, в котором их нужно говорить. Если требуется приписать символ c в начало, выведите «front c». Если требуется приписать символ c в конец, выведите «back c». Если требуется заменить 0 на 01, а 1 на 10, выведите «double».

Пример

исходные данныерезультат
011010011
5
back 1
front 0
double
double
back 1

Замечания

По рассказу из примера последовательно будут получаться строки: пустая строка, «1», «01», «0110», «01101001», «011010011».
Автор задачи: Алексей Самсонов
Источник задачи: XV Открытый командный чемпионат УрГУ по программированию
Чтобы отправить решение этой задачи на проверку перейдите в Архив задач: 1782. Новое слово Джека