constraints.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:algorithm 作者: Firkraag 项目源码 文件源码
def single_variable_constraints(A, b):
    row = len(A)
    col = len(A[0])
    vertices_num = col
    vertices = []
    edges = []
    weights = dict()
    for i in range(0, vertices_num + 1):
        vertices.append(Vertex(i))
    for i in range(0, row):
        for j in range(0, len(A[i])):
            if A[i][j] == 1:
                edges.append((vertices[0], vertices[j + 1]))
                weights[(vertices[0], vertices[j + 1])] = b[i]
                break
            elif A[i][j] == -1:
                edges.append((vertices[j + 1], vertices[0]))
                weights[(vertices[j + 1], vertices[0])] = b[i]
                break
    G = Graph(vertices, edges)
    if G.Bellman_Ford(lambda x, y: weights[(x, y)], vertices[0]):
        return [v.d for v in vertices[1:]]
    else:
        return None
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号