O desafio é seguir (desenhar) o caminho:
^n
- até n linhasvn
- para baixo por n linhas>n
- direito por n posições de caracteres<n
- deixado por n posições de caracteres
n
é um número inteiro maior que zero (ou seja, você não pode receber um comando como>-2
).- Não há separadores entre os comandos, a entrada bem formada é assim:,
>5v8<10^3
nenhuma outra forma de entrada é permitida. - O número de comandos é ilimitado.
- Não se espera que mais caracteres entrem na entrada.
Exemplos.
Input é uma string vazia, output:
*
A entrada é
>3
ou<3
: note que isso não faz nenhuma diferença para a saída:****
Semelhante para
^3
ev3
:* * * *
Entrada:,
>1v2
saída:** * *
Entrada:,
^4>3v2<1
saída:**** * * * ** * *
Se você voltar e usar o mesmo caminho, não desenhe nada de novo. Por exemplo
>5<5
******
... embora você não desenhe nada novo, obviamente muda de posição. Portanto, se sua entrada for assim
>4<2v3
:, a saída é:***** * * *
Este é um exemplo mais complexo: 1) o caminho pode se cruzar 2) observe que os últimos três passos do último comando deslocam todo o caminho para a direita. Entrada:,
v6>4^3<7
saída:* * * ******** * * * * *****
Entrada :
^2v2>3<3v3>4^5v5>3^5>4v2<4v3>4^3v3>3^5>4v2<4v3>7^5>4v2<4v3>9^3<2^2v2>4^2v2<2v3>8^5>2v4>2^4v5<3>6^5>5<5v2>5<5v2>5<4v1>8^3<1^2v2>1v2>2^3v3>2^2>1^2v2<1v3<3>11^3<2^2v2>4^2v2<2v3>5^5>5<5v2>5<5v2>5<4v1>7^5>4v2<4v3>4^3v3>3^5>4v2<3v1<1v2>3^1>1v1
Resultado:
* * ***** ***** ***** * * *** * ****** * * * * ****** ***** ***** * * * * * * * * * * * * * * * * * * * * * * * * ***** ***** ***** ***** ***** * * * ****** ** * ** ***** ****** ***** ***** * * * * * * * * * * * * * * * * * * ** * * * * * * * * *** ****** ***** * ****** * * * ** *******************************************************************************************
^2v2>3<3v3>4^5v5>3^5>4v2<4v3>4^3v3>3^5>4v2<4v3>7^5>4v2<4v3>9^3<2^2v2>4^2v2<2v3>8^5>2v4>2^4v5<3>6^5>5<5v2>5<5v2>5<4v1>8^3<1^2v2>1v2>2^3v3>2^2>1^2v2<1v3<3>11^3<2^2v2>4^2v2<2v3>5^5>5<5v2>5<5v2>5<4v1>7^5>4v2<4v3>4^3v3>3^5>4v2<3v1<1v2>3^1>1v1
.