Любой обычный шестиугольник может быть облицован бриллиантами, например, так (украдено из этого вопроса ):
______
/_/_/\_\
/_/\_\/\_\
/\_\/_/\/_/\
\/_/\_\/_/\/
\_\/_/\_\/
\_\_\/_/
Мы рассмотрим выше плитку размером 1 (так как стороны алмазов сделаны из одной / или \ каждой). Тот же лист размером 2 будет выглядеть так:
____________
/ / /\ \
/___/___/ \___\
/ /\ \ /\ \
/___/ \___\/ \___\
/\ \ / /\ / /\
/ \___\/___/ \/___/ \
\ / /\ \ / /\ /
\/___/ \___\/___/ \/
\ \ / /\ \ /
\___\/___/ \___\/
\ \ \ / /
\___\___\/___/
Ваша задача состоит в том, чтобы повернуть угол наклона алмаза кратным 60 градусам. Алмазная плитка на входе может быть любого размера (и размер явно не указан на входе). Но это всегда будет действительный тайлинг, и все стороны шестиугольника будут иметь одинаковую длину.
Это приведенные выше примеры, повернутые на 60 градусов по часовой стрелке:
______
/_/\_\_\
/\_\/_/\_\
/\/_/\_\/_/\
\/\_\/_/_/\/
\/_/\_\_\/
\_\/_/_/
____________
/ /\ \ \
/___/ \___\___\
/\ \ / /\ \
/ \___\/___/ \___\
/\ / /\ \ / /\
/ \/___/ \___\/___/ \
\ /\ \ / / /\ /
\/ \___\/___/___/ \/
\ / /\ \ \ /
\/___/ \___\___\/
\ \ / / /
\___\/___/___/
В качестве входного значения используется неотрицательное целое число и мозаичный ромб. Ваша программа (или функция) должна повернуть ее на целое число * 60 градусов. Вы сами решаете, вращать ли по часовой стрелке или против часовой стрелки, если это не противоречит. И на входе, и на выходе не должно быть лишних начальных или конечных пробелов.
Это код-гольф. Самый короткий код выигрывает.
Смежные вопросы: