需要一些功课帮助。 Python 2.7

时间:2017-01-19 20:02:42

标签: algorithm python-2.7 divide-and-conquer

我接受这个问题是我的家庭作业问题之一,而且我正在抓住它。我想要一些帮助:

切割的问题:Lp x Hp尺寸的矩形金属板具有n 孔,在整数坐标点。切割一块最大表面的板,没有孔,知道只允许与板切口的侧面平行。 注意:孔的坐标保留在两个矢量vx [i]中,用于横坐标孔 和vy [i]用于纵坐标(例如,这些向量不一定是排序的,整体能够以时间顺序存储)。最初的矩形,然后 切割过程中出现的矩形通过左下角的坐标存储 (x,y)按长度L和高度h(每个矩形通过一组4个变量识别:x,y,L,h,借助于其形成4个角坐标)。我们采用“分而治之”的技术。

我尝试过:

### [1,3] :vx (holes)




def cuts(x,y,L,h):
    for i in range(nrg):
        if vx[i] > x and vx[i] < x+L and vy[i] > y and vy[i] <y+h:
            found = True
            break
    if found:
        1: couts(x,y,L-vx[i],h)
        2: cuts(vx[i],y,L-vx[i]+x,h)
        3: cuts(L-vx[i],y,L-vx[i],h)
        4: cuts(x,h-y,L,h-y)
    else:
        ar = L*h
        if ar > arMax:
            arMax = ar

nrg = 2
vx[1] = [1,3]
vx[2] = [2,3]
[x,y,L,h]
sol[0] = x
sol[1] = y
sol[2] = L
sol[3] = h

0 个答案:

没有答案