Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import graph as g
- def Revise(edge):
- revised = False
- first_node = edge.first_node
- last_node = edge.second_node
- #print("First Node:")
- #print(first_node)
- #print("Last Node:")
- #print(last_node)
- # print("F_D:")
- # print(g.node_list[first_node])
- # print("L_D:")
- # print(g.node_list[last_node])
- i=0
- while True:
- cnt = 0
- if(len(g.node_list[first_node])==0):
- break
- for j in range(len(g.node_list[last_node])):
- constraint_index = g.edge_list.index(edge)
- constraint_no = g.edge_list[constraint_index].constraint_no
- #print("const No ",constraint_no)
- func = g.constraints_list(constraint_no)
- #print("hello ",i," ",g.node_list[first_node][i]," ",j," ",g.node_list[last_node][j])
- if func(g.node_list[first_node][i], g.node_list[last_node][j]) == True:
- cnt = cnt + 1
- i+=1
- break
- if cnt == 0:
- g.node_list[first_node].remove(g.node_list[first_node][i])
- revised = True
- if(i==len(g.node_list[first_node])):
- break
- # print("Middle")
- # print("F_D:")
- # print(g.node_list[first_node])
- # print("L_D:")
- # print(g.node_list[last_node])
- i=0
- while True:
- if(len(g.node_list[last_node])==0):
- break
- cnt = 0
- for j in range(len(g.node_list[first_node])):
- constraint_index = g.edge_list.index(edge)
- constraint_no = g.edge_list[constraint_index].constraint_no
- #print("const No R",constraint_no)
- func = g.constraints_list(constraint_no)
- #print("hello R",i," ",g.node_list[last_node][i]," ",j," ",g.node_list[first_node][j])
- if func(g.node_list[last_node][i], g.node_list[first_node][j]) == True:
- cnt = cnt + 1
- i+=1
- break
- if cnt == 0:
- g.node_list[last_node].remove(g.node_list[last_node][i])
- revised = True
- if(i==len(g.node_list[last_node])):
- break
- return revised
- def AC_1():
- total_node = g.total_node
- total_edge = g.total_edge
- change = False
- while(not change):
- change = False
- for i in range(total_edge):
- if Revise(g.edge_list[i]) == True:
- change = True
- AC_1()
- print("After")
- for nodes in g.node_list:
- print(nodes)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement