Isso é inspirado no Monday Mini-Golf # 6: Meeesesessess upp teeexexextext
fundo
As produções da ETH têm dificuldade em inserir texto em sua página usual. Sempre que ele usar dígitos ou letras, o texto será menesessessessesseesseessessed. Sua tarefa é ajudá-lo a digitar para que o comportamento normal seja alcançado.
A transformação
A transformação afeta execuções de [0-9A-Za-z]
caracteres alfanuméricos ( ) delimitados por caracteres não alfanuméricos. No exemplo a seguir, a primeira linha seria transformada na segunda (as outras linhas mostram o detalhamento da transformação)
An12num:
Annn1n12n12nn12nn12nun12nun12numn12num
A
nn
n1
n12
n12nn12n
n12nun12nu
n12numn12num
Em particular, qualquer caractere alfanumérico após o primeiro de uma corrida será transformado em toda a corrida até agora, exceto o primeiro caractere . Além disso, se o caractere for uma letra (em oposição a um dígito), o caractere será transformado em duas vezes a execução.
Felizmente, o backspace excluirá o último caractere e também redefinirá o início da execução.
Tarefa
Desta vez, sua tarefa não é realizar a transformação. Em vez disso, dada uma sequência de entrada, você deve retornar um texto codificado que, se transformado, resultará na entrada. A saída deve ser o mais curta possível, \<char>
contada como um único caractere.
O texto é codificado da seguinte forma:
\ -> \\
backspace character -> \b
linefeed -> \n
Você pode escrever um programa ou função, recebendo entrada via STDIN (ou alternativa mais próxima), argumento da linha de comando ou argumento da função e emitindo o resultado via STDOUT (ou alternativa mais próxima), valor de retorno da função ou parâmetro da função (saída).
Casos de teste
Cada caso de teste é de duas linhas, sendo a primeira entrada e a segunda saída.
Heeeeeelp me. It shouldn't be messed up.
Hee \blp\b me\b. It\b sh\bou\bld\bn't be\b me\bss\bed\b up\b.
alert("Hello, world!");
al\ber\bt("He\bll\bo, wo\brl\bd!");
1223234234523456
123456
1
sempre) nas execuções.