C. Трансформация строки
Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Над строкой, состоящей из символов "a" и "b" разрешается производить следующие действия:
- Если последним символом строки является символ "a", можно добавить к строке символ "b". Например, из строки "aaba" можно получить строку "aabab".
- Можно удвоить строку, сцепив её саму с собой. Например, из строки "aab" можно получить строку "aabaab"
- Можно заменить любое вхождение подстроки "aaa" на "b". Например, из строки "aaaaa" можно получить строку "aba".
- Можно удалить любое вхождение подстроки "bb". Например, из строки "abbab" можно получить строку "aab".
Необходимо получить заданную строку из строки "a".
В первой строке ввода содержится строка из символов "a" и "b" длиной от 1 до 1000 символов.
В первой строке вывести сообщение "YES", если можно получить заданную строку, иначе вывести "NO". Для ответа "YES" в следующих строках вывести последовательность действий – по одному действию на строке. В строках с действиями 3 и 4 нужно указать также начальный индекс заменяемой (удаляемой) подстроки. Можно вывести любую возможную последовательность действий, приводящую к нужному результату, не обязательно самую короткую.
Вывод для примера
YES
2
2
2
1
3 2
3 4
4 4