พื้นที่ขั้นต่ำที่ปกคลุมด้วยลูกบาศก์หรือลูกบาศก์ขั้นต่ำบนพื้น [ปิด]
Aug 17 2020
มีห้องเก็บของซึ่งมีเพียง 3 ด้านเท่านั้นที่สัมผัสกันในแนวตั้งฉาก (ผนังขนาดใหญ่ 2 ชั้นและชั้นที่ใหญ่ไม่สิ้นสุดอีกชั้นหนึ่ง) มี $N$ลูกบาศก์ของปริมาตรหน่วย ในการจัดเก็บก้อนในห้องเก็บมีกฎ 2 ข้อ -
- สามารถวางไว้ที่ใดก็ได้บนพื้น
- ลูกบาศก์ $A$ สามารถวางบน Cube $B$ เฉพาะในกรณีที่มีลูกบาศก์อยู่ทั้งสี่ด้านของ $B$ เว้นแต่ด้านข้างจะถูกปิดกั้นด้วยกำแพง
ค้นหาพื้นที่ขั้นต่ำที่ครอบคลุมสำหรับการจัดเก็บ $N$ ลูกบาศก์.
ตัวอย่าง:
- ถ้า $N=3$: พื้นที่ชั้นต่ำสุด $= 3$
- ถ้า $N=4$: พื้นที่ชั้นต่ำสุด $= 3$(เนื่องจากลูกบาศก์ที่ 4 สามารถวางบนผนังด้านหนึ่งที่เข้ามุมจาก 2 ด้านและอีก 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 จะให้คำตอบในเวลาคงที่