Área mínima do piso coberta por cubos ou cubos mínimos no piso [fechado]

Aug 17 2020

Há uma despensa que tem apenas 3 lados, todos se tocando perpendicularmente (2 paredes infinitamente grandes e um piso infinitamente grande). $N$cubos de volume unitário. Para armazenar cubos no armazém, existem 2 regras -

  1. Pode ser colocado em qualquer lugar do chão
  2. Cubo $A$ pode ser colocado no cubo $B$ apenas se houver cubos em todos os quatro lados do $B$ a menos que o lado já esteja bloqueado por uma parede.

Encontre a área mínima coberta para armazenamento $N$ cubos.

Exemplos:

  • E se $N=3$: área mínima do piso $= 3$
  • E se $N=4$: área mínima do piso $= 3$, (como o 4º cubo pode ser colocado em um canto tocando as paredes de 2 lados e 2 cubos dos outros lados)

Respostas

1 ParasSain Aug 18 2020 at 08:10
import numpy as np
N = int(input())
n = int(np.real(np.roots([1,3,2,-6*N])[2]))
c = int(np.ceil(np.roots([1,1,-2*(N-int((n*(n+1)*(n+2))/6))])[1]))
print(int((n*(n+1))/2)+c)

Este código em python dará a resposta em tempo constante.