Com o grande colapso da economia universal, também caiu a demanda por planetas feitos sob medida. Os Magratheans tiveram que cuidar de receitas mais constantes também de uma classe mais ampla de clientes. Portanto, eles inventaram a cadeia de montanhas que você tem para si mesmo (ou pequenas montanhas desarrumadas) para pessoas com orçamento menor e que não podiam pagar um planeta completo.
As montanhas são de construção de acordo com o plano do cliente (aka séries de dígitos e pontos) e entregue usando ascii-art (que consistem em ,
/
, \
, ^
e v
).
Tarefa
Escreva um programa completo que use a entrada (string única) do STDIN ou como argumento e envie para STDOUT. Este quebra-cabeça é um código de golfe, por isso, mostre alguma tentativa de jogar golfe.
Entrada
Uma série de pontos e dígitos que fornecem a base para a cadeia de montanhas. Cada corda tem exatamente o tempo necessário para sustentar as montanhas e cada pico é dado por um dígito em vez de um ponto, indicando a altura do pico.
Resultado
Uma versão ascii da cadeia de montanhas.
- Cada dígito na entrada representa exatamente um pico (
^
) exatamente na altura indicada pelo dígito (ou seja, 9 é a altura mais alta). - Não deve haver picos adicionais na saída (ou seja, em locais onde há um ponto na entrada).
- As montanhas são de forma triangular, ou seja, as encostas são criadas usando
/
e\
caracteres. - Passagens onde duas montanhas se sobrepõem são modeladas usando o personagem
v
. - Não há novas linhas supérfluas nem linhas em branco.
- Linhas de preenchimento com espaços à direita são opcionais.
Você pode assumir que a entrada fornecida é válida, ou seja, sempre existe uma solução de acordo com as regras (por exemplo, uma entrada de 13..
não resultaria em uma configuração válida e pode ser ignorada). Além disso, em cada lado há exatamente tantos pontos que as montanhas não devem ser cortadas.
Exemplos
A primeira linha mostra a entrada, todas as outras linhas constituem a saída desejada. (Na verdade, as montanhas parecem muito melhores no meu console do que aqui.)
1
^
11
^^
1.2.
^
^/ \
.2.3..
^
^/ \
/ \
.2..3..
^
^ / \
/ v \
...4...3...3..
^
/ \ ^ ^
/ \/ \ / \
/ v \
1
, é \n\n\n\n\n\n\n\n^
permitido?