Surface de plancher minimale couverte de cubes ou de cubes minimum sur le sol [fermé]

Aug 17 2020

Il y a un cellier qui n'a que 3 côtés tous se touchant perpendiculairement (2 murs infiniment grands et un étage infiniment grand) $N$cubes de volume unitaire. Pour stocker des cubes dans la réserve, il y a 2 règles -

  1. Peut être placé n'importe où sur le sol
  2. cube $A$ peut être placé sur Cube $B$ seulement s'il y a des cubes sur les quatre côtés de $B$ sauf si le côté est déjà bloqué par un mur.

Trouvez la surface de plancher minimale couverte pour le stockage $N$ cubes.

Exemples:

  • si $N=3$: surface de plancher minimale $= 3$
  • si $N=4$: surface de plancher minimale $= 3$.

Réponses

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)

Ce code en python donnera la réponse en temps constant.