Qualquer hexágono comum pode ser lado a lado com diamantes, por exemplo, assim (roubado desta pergunta ):
______
/_/_/\_\
/_/\_\/\_\
/\_\/_/\/_/\
\/_/\_\/_/\/
\_\/_/\_\/
\_\_\/_/
Consideraremos o tamanho acima como um ladrilho do tamanho 1 (já que os lados dos diamantes são feitos de um / ou \ cada). O mesmo lado a lado do tamanho 2 seria semelhante a:
____________
/ / /\ \
/___/___/ \___\
/ /\ \ /\ \
/___/ \___\/ \___\
/\ \ / /\ / /\
/ \___\/___/ \/___/ \
\ / /\ \ / /\ /
\/___/ \___\/___/ \/
\ \ / /\ \ /
\___\/___/ \___\/
\ \ \ / /
\___\___\/___/
Sua tarefa é girar as inclinações de diamante em um múltiplo de 60 graus. O mosaico de diamantes na entrada pode ter qualquer tamanho (e o tamanho não está especificado explicitamente na entrada). Mas sempre seria um ladrilho válido e todos os lados do hexágono teriam o mesmo comprimento.
Estes são os exemplos acima girados 60 graus no sentido horário:
______
/_/\_\_\
/\_\/_/\_\
/\/_/\_\/_/\
\/\_\/_/_/\/
\/_/\_\_\/
\_\/_/_/
____________
/ /\ \ \
/___/ \___\___\
/\ \ / /\ \
/ \___\/___/ \___\
/\ / /\ \ / /\
/ \/___/ \___\/___/ \
\ /\ \ / / /\ /
\/ \___\/___/___/ \/
\ / /\ \ \ /
\/___/ \___\___\/
\ \ / / /
\___\/___/___/
A entrada é um número inteiro não negativo e um mosaico de diamantes. Seu programa (ou função) deve girá-lo pelo número inteiro * 60 graus. Você decide se gira no sentido horário ou anti-horário, desde que seja consistente. Tanto a entrada como a saída não devem ter espaços iniciais ou finais extras.
Isso é código-golfe. O menor código vence.
Perguntas relacionadas: