def thuatToan_3(self): #Tao ma tran rong map = Map() #Lay cac gia tri input tu file input.txt print("Nhap file input:\n(input1_1.txt, input1_2.txt, input1_3.txt)") string = input("Ten file: ") A = Input(string, map) print(A) #Tao ma tran va canvas theo input g = Graphic(map.ngang, map.doc) #To mau cac da giac for i in range(map.ngang): for j in range(map.doc): if A[i][j] == 1: g.Rectangle(i, j, "lightpink") listDaGiac = map.getDaGiac() for i in range(0, len(listDaGiac), 2): g.Rectangle(listDaGiac[i], listDaGiac[i + 1], "lightcoral") ids(A, map.xStart, map.yStart, map.xEnd, map.yEnd) print(A) g.Pack() g.Display() return 1
def muc_3(self): #Tao ma tran rong map = Map() #Lay cac gia tri input tu file input.txt print("Nhap file input:\n(input1_1.txt, input1_2.txt, input1_3.txt)") string = input("Ten file: ") A = Input(string, map) #Tao ma tran va canvas theo input g = Graphic(map.ngang, map.doc) #To mau cac da giac for i in range(map.ngang): for j in range(map.doc): if A[i][j] == 1: g.Rectangle(i, j, "lightpink") listDaGiac = map.getDaGiac() for i in range(0, len(listDaGiac), 2): g.Rectangle(listDaGiac[i], listDaGiac[i + 1], "lightcoral") chiPhi = xuatDuongDi(A, map) print("Chi phi: ", chiPhi) #Gia tri to mau: Start, end: 3 Diem don: 4 Duong di: 2 Rong: 0 Tuong: 1 A[map.xStart][map.yStart] = 3 A[map.xEnd][map.yEnd] = 3 g.Rectangle(map.xStart, map.yStart, "lightskyblue") g.Rectangle(map.xEnd, map.yEnd, "lightskyblue") for i in map.danhSachDon: x, y = i A[x][y] = 4 g.Rectangle(x, y, "lightgreen") g.Pack() for i in range(map.ngang): for j in range(map.doc): if A[i][j] == 2: wait = 1 while wait: g.Rectangle(i, j, "lightsteelblue") g.windown.update_idletasks() g.windown.update() time.sleep(0.1) g.Pack() wait = 0 g.Pack() g.Display() return 1
def muc_1(self): #Tao ma tran rong map = Map() #Lay cac gia tri input tu file input.txt print("Nhap file input:\n(input1_1.txt, input1_2.txt, input1_3.txt)") string = input("Ten file: ") A = Input(string, map) #Tao ma tran va canvas theo input g = Graphic(map.ngang, map.doc) #To mau cac da giac for i in range(map.ngang): for j in range(map.doc): if A[i][j] == 1: g.Rectangle(i, j, "lightpink") listDaGiac = map.getDaGiac() for i in range(0, len(listDaGiac), 2): g.Rectangle(listDaGiac[i], listDaGiac[i + 1], "lightcoral") #chay bang BFS bfs = BFSItem(A, (map.xStart, map.yStart), (map.xEnd, map.yEnd)) path = bfs.BFS() print("Chi phi: ", len(path) - 1, "\n") g.Rectangle(map.xStart, map.yStart, "lightskyblue") g.Rectangle(map.xEnd, map.yEnd, "lightskyblue") g.Pack() for j in range(1, len(path) - 1): r = path[j][0] c = path[j][1] wait = 1 while wait: g.Rectangle(r, c, "lightsteelblue") g.windown.update_idletasks() g.windown.update() time.sleep(0.1) g.Pack() wait = 0 g.Pack() g.Display() return 1 #Gia tri de chay tiep