Este é um "labirinto de flechas":
v <
> v
> ^
> v
^ < *
As *
marcas no local onde você terminará. Seu objetivo é descobrir onde o labirinto começa (daí o labirinto reverso). Nesse caso, é o primeiro >
na segunda linha.
v------<
S-+---v |
| >--^
>-+-------v
^ < *
Observe que todas as setas devem ser usadas. Observe também que você pode assumir que as linhas serão preenchidas com espaços com o mesmo comprimento.
Seu programa deve inserir o labirinto de qualquer maneira razoável (stdin, de um arquivo, caixa de mensagem etc.), no entanto, o labirinto deve estar completamente intacto. Por exemplo, você não pode inserir as linhas separadas por vírgulas; a entrada deve ser exatamente o labirinto.
Você deve produzir o início do labirinto de qualquer maneira razoável. Por exemplo, você poderia
- produzir as coordenadas do início
- produzir o labirinto inteiro com a seta inicial substituída por um
S
- imprima o labirinto inteiro com todas as setas, exceto a seta inicial removida (espaço em branco intacto!)
- etc.
Desde que você possa dizer pela saída qual seta é a seta inicial, tudo bem. Por exemplo, uma saída de
"0"
"2"
está bem, independentemente das novas linhas e citações, porque você ainda pode saber onde foi o início.
Isso é código-golfe , então o código mais curto em bytes vencerá.
>v^
na >
está apontando para o v
, não o ^
. Vou editar mais coisas quando voltar para casa em um computador hoje.