Minha esposa é muito, digamos, especial quando se trata de colocar enfeites na nossa árvore de Natal. Vamos dar a ela algum código para ajudá-la neste momento difícil.
Entrada
Dada uma entrada, 2 < n < 10
a altura da árvore e 0 < k < n
o número distinto de ornamentos.
Tarefa
Decore a árvore começando com 1
e aumente a k
medida que envolvemos os enfeites em volta da árvore. Se chegarmos k
e tivermos mais galhos para decorar, comece novamente em 1
.
Não há problema se não houver o mesmo número de cada ornamento na árvore, desde que o padrão seja satisfeito.
Os ornamentos devem aparecer acima de cada ramo, ^
exceto na linha superior.
A árvore é estruturada iniciando com um ramo e, em seguida, o próximo nível tem + 1 ramos com um espaço entre cada um, escalonado a partir do topo, como:
^
^ ^
Para uma terceira linha, você adicionaria mais um ramo e os escalonaria novamente, de modo que nenhum ramo esteja na mesma coluna (se você pensar nisso como uma grade).
^
^ ^
^ ^ ^
Saída
Saída sua árvore decorada.
Exemplos
1
n = 3, k = 2
^ //Height is 3
^ ^
^ ^ ^
Agora decoramos cada ramificação começando com 1 e incrementamos para k:
^
1 2
^ ^
1 2 1
^ ^ ^
2)
n = 6, k = 5
^ //Non-Decorated
^ ^
^ ^ ^
^ ^ ^ ^
^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^
^ //Decorated
1 2
^ ^
3 4 5
^ ^ ^
1 2 3 4
^ ^ ^ ^
5 1 2 3 4
^ ^ ^ ^ ^
5 1 2 3 4 5
^ ^ ^ ^ ^ ^
3)
n = 5, k = 1
^
^ ^
^ ^ ^
^ ^ ^ ^
^ ^ ^ ^ ^
^
1 1
^ ^
1 1 1
^ ^ ^
1 1 1 1
^ ^ ^ ^
1 1 1 1 1
^ ^ ^ ^ ^
Isso é código-golfe, então o código mais curto vence! Divirta-se e boa sorte!