Ваша цель - ввести любой произвольный текст, например:
This is some text
И выведите этот текст в формате кода для постов (разметка SE) и комментариев (мини-разметка) на Stack Exchange, например:
`This is some text`
`This is some text`
Тем не менее, это становится сложнее. Рассмотрим вход:
Perl has a variable called $`
Выход должен быть
`` Perl has a variable called $` ``
`Perl has a varaible called $\``
Полные правила для форматирования:
Полные сообщения (полная SE Markdown)
Шаг 1: подсчитать наименьшее число, для которого в строке не так уж много последовательных обратных бэкков Давайте назовем это
n. (Например, для строкиpotato,nравен 1, дляthis is a backtick: `,nравно 2, и` `` ``` ````` ``````,nравно 4.)Шаг 2: обернуть строку в
nкавычки. Если строка начинается или заканчивается обратным трюком, вы должны также переносить пробелы. (Например,potatoстановится`potato`,this is a backtick: `становится`` this is a backtick: ` ``и` `` ``` ````` ``````становится```` ` `` ``` ````` `````` ````.
Комментарии (мини-уценка)
- Wrap в
`и избежать всех`«S с\`. (Например,potatoстановится`potato`,this is a backtick: `становитсяthis is a backtick: \`и` `` ``` ````` ``````становится\` \`\` \`\`\` \`\`\`\`\` \`\`\`\`\`\`.
- Wrap в
Это Код-гольф; выигрывает самый короткий ответ в количестве байтов.
\; чтобы отформатировать \, нужно сделать ``\``. Кроме того, все, что заканчивается результатом, приводит \к той же самой проблеме: asdf\производит `asdf`