Минимальная площадь пола, покрытая кубиками, или минимум кубиков на полу [закрыто]

Aug 17 2020

Есть складское помещение, у которого только 3 стороны, все соприкасающиеся друг с другом перпендикулярно (2 бесконечно большие стены и один бесконечно большой этаж). $N$кубы единичного объема. Для хранения кубиков в кладовой есть 2 правила -

  1. Можно разместить в любом месте на полу
  2. Куб $A$ можно разместить на Кубе $B$ только если на всех четырех сторонах есть кубики $B$ если сторона уже не заблокирована стеной.

Найдите минимальную площадь пола для хранения $N$ кубики.

Примеры:

  • если $N=3$: минимальная площадь пола $= 3$
  • если $N=4$: минимальная площадь пола $= 3$, (поскольку 4-й куб может быть размещен в одном углу, касаясь стен с двух сторон и 2 куба с других сторон)

Ответы

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)

Этот код на Python даст ответ за постоянное время.