Минимальная площадь пола, покрытая кубиками, или минимум кубиков на полу [закрыто]
Aug 17 2020
Есть складское помещение, у которого только 3 стороны, все соприкасающиеся друг с другом перпендикулярно (2 бесконечно большие стены и один бесконечно большой этаж). $N$кубы единичного объема. Для хранения кубиков в кладовой есть 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 даст ответ за постоянное время.