O título diz tudo. Seu objetivo é escrever um programa que forme um retângulo de caracteres × × h que possa ser girado e execute novamente para gerar o número de rotações 90 ° no sentido anti-horário (CCW) que foram feitas.
Por exemplo, se o programa 3 × 2
abc
def
resolvido o problema, inicialmente produziria 0 e rotações sucessivas de 90 ° CCW
cf fed da
be cba eb
ad fc
produziria 1, 2 e 3, respectivamente.
O uso de comentários faz desta uma tarefa trivial a maioria dos idiomas. Em Ruby, por exemplo, isso pode ser feito em um retângulo 7 × 7:
###p###
### ###
###1###
p 0#2 p
###3###
### ###
###p###
O desafio é fazer isso sem nenhum tipo de comentário.
Pontuação
Sua pontuação é w * h, a área do seu retângulo. Novas linhas são excluídas. Em outras palavras, code-golf, novas linhas não são contadas.
A pontuação para o exemplo do Ruby é 49 (embora, é claro, seja inválida, pois possui comentários).
Notas
- Seu código deve ser realmente retangular, sem caracteres ausentes no final das linhas.
- Se você desejar, pode gerar outros valores legais de "mod 90 °" em vez de 0 1 2 3. Portanto, 8 é bom em vez de 0 e -1 é bom em vez de 3, etc.
- A saída pode ir para o console ou para um arquivo.
- Aplicam-se brechas padrão.
Espero que isso, minha primeira pergunta, realmente intrigue algumas pessoas. Desfrutar!
echo 0;exit;e
no bash é permitido?