Skip to content

Instantly share code, notes, and snippets.

@renansa27
Created April 8, 2018 22:46
Show Gist options
  • Save renansa27/584ca034b8e4aecb23575b6655c79cb6 to your computer and use it in GitHub Desktop.
Save renansa27/584ca034b8e4aecb23575b6655c79cb6 to your computer and use it in GitHub Desktop.
Missionarios x Canibais
#Criando os vetores Missionario, canibal e barco
vetD = []
vetD.append(3)
vetD.append(3)
vetE = []
vetE.append(0)
vetE.append(0)
barco = []
barco.append(0)
barco.append(0)
movBarco = "d"
#Printando o estado inicial do problema
print("-------------------------------------")
print("Missionarios: ",vetD[0]," ----- Missionarios: ",vetE[0],"\n")
print("Canibais: ",vetD[1]," ----- Canibais: ",vetE[1],"\n")
print("Barco -> Missionarios : ",barco[0]," Canibais: ",barco[1],"\n\n\n")
#Laço para resolver o problema
while (movBarco != "fim"):
if movBarco == "d" and vetD == [3,3] and barco == [0,0] and vetE == [0,0]:
barco = [1,1]
vetD = [2,2]
movBarco = "e"
print("Missionarios: ",vetD[0]," ----- Missionarios: ",vetE[0],"\n")
print("Canibais: ",vetD[1]," ----- Canibais: ",vetE[1],"\n")
print("Barco -> Missionarios : ",barco[0]," Canibais: ",barco[1],"\n")
print("indo para a esquerda do rio\n\n\n")
elif movBarco == "d" and vetE == [0,1] and barco == [1,0] and vetD == [2,2]:
vetD = [3,0]
barco = [0,2]
movBarco = "e"
print("Missionarios: ",vetD[0]," ----- Missionarios: ",vetE[0],"\n")
print("Canibais: ",vetD[1]," ----- Canibais: ",vetE[1],"\n")
print("Barco -> Missionarios : ",barco[0]," Canibais: ",barco[1],"\n")
print("indo para a esquerda do rio\n\n\n")
elif movBarco == "d" and vetE == [0,2] and barco ==[0,1] and vetD == [3,0]:
vetD = [1,1]
barco = [2,0]
movBarco = "e"
print("Missionarios: ",vetD[0]," ----- Missionarios: ",vetE[0],"\n")
print("Canibais: ",vetD[1]," ----- Canibais: ",vetE[1],"\n")
print("Barco -> Missionarios : ",barco[0]," Canibais: ",barco[1],"\n")
print("indo para a esquerda do rio\n\n\n")
elif movBarco == "d" and vetE == [1,1] and barco ==[1,1] and vetD == [1,1]:
vetD = [0,2]
barco = [2,0]
movBarco = "e"
print("Missionarios: ",vetD[0]," ----- Missionarios: ",vetE[0],"\n")
print("Canibais: ",vetD[1]," ----- Canibais: ",vetE[1],"\n")
print("Barco -> Missionarios : ",barco[0]," Canibais: ",barco[1],"\n")
print("indo para a esquerda do rio\n\n\n")
elif movBarco == "d" and vetE == [3,0] and barco ==[0,1] and vetD == [0,2]:
vetD = [0,1]
barco = [0,2]
movBarco = "e"
print("Missionarios: ",vetD[0]," ----- Missionarios: ",vetE[0],"\n")
print("Canibais: ",vetD[1]," ----- Canibais: ",vetE[1],"\n")
print("Barco -> Missionarios : ",barco[0]," Canibais: ",barco[1],"\n")
print("indo para a esquerda do rio\n\n\n")
elif movBarco == "d" and vetE == [3,1] and barco ==[0,1] and vetD == [0,1]:
vetD = [0,0]
barco = [0,2]
movBarco = "e"
print("Missionarios: ",vetD[0]," ----- Missionarios: ",vetE[0],"\n")
print("Canibais: ",vetD[1]," ----- Canibais: ",vetE[1],"\n")
print("Barco -> Missionarios : ",barco[0]," Canibais: ",barco[1],"\n")
print("indo para a esquerda do rio\n\n\n")
elif movBarco == "e" and vetE == [0,0] and barco ==[1,1] and vetD == [2,2]:
vetE = [0,1]
barco = [1,0]
movBarco = "d"
print("Missionarios: ",vetD[0]," ----- Missionarios: ",vetE[0],"\n")
print("Canibais: ",vetD[1]," ----- Canibais: ",vetE[1],"\n")
print("Barco -> Missionarios : ",barco[0]," Canibais: ",barco[1],"\n")
print("indo para a direita do rio\n\n\n")
elif movBarco == "e" and vetE == [0,1] and barco == [0,2] and vetD == [3,0]:
vetE = [0,2]
barco = [0,1]
movBarco = "d"
print("Missionarios: ",vetD[0]," ----- Missionarios: ",vetE[0],"\n")
print("Canibais: ",vetD[1]," ----- Canibais: ",vetE[1],"\n")
print("Barco -> Missionarios : ",barco[0]," Canibais: ",barco[1],"\n")
print("indo para a direita do rio\n\n\n")
elif movBarco == "e" and vetE == [0,2] and barco ==[2,0] and vetD == [1,1]:
vetE = [1,1]
barco = [1,1]
movBarco = "d"
print("Missionarios: ",vetD[0]," ----- Missionarios: ",vetE[0],"\n")
print("Canibais: ",vetD[1]," ----- Canibais: ",vetE[1],"\n")
print("Barco -> Missionarios : ",barco[0]," Canibais: ",barco[1],"\n")
print("indo para a direita do rio\n\n\n")
elif movBarco == "e" and vetE == [1,1] and barco ==[2,0] and vetD == [0,2]:
vetE = [3,0]
barco = [0,1]
movBarco = "d"
print("Missionarios: ",vetD[0]," ----- Missionarios: ",vetE[0],"\n")
print("Canibais: ",vetD[1]," ----- Canibais: ",vetE[1],"\n")
print("Barco -> Missionarios : ",barco[0]," Canibais: ",barco[1],"\n")
print("indo para a direita do rio\n\n\n")
elif movBarco == "e" and vetE == [3,0] and barco ==[0,2] and vetD == [0,1]:
vetE = [3,1]
barco = [0,1]
movBarco = "d"
print("Missionarios: ",vetD[0]," ----- Missionarios: ",vetE[0],"\n")
print("Canibais: ",vetD[1]," ----- Canibais: ",vetE[1],"\n")
print("Barco -> Missionarios : ",barco[0]," Canibais: ",barco[1],"\n")
print("indo para a direita do rio\n\n\n")
elif movBarco == "e" and vetE == [3,1] and barco ==[0,2] and vetD == [0,0]:
vetE = [3,3]
barco = [0,0]
print("Missionarios: ",vetD[0]," ----- Missionarios: ",vetE[0],"\n")
print("Canibais: ",vetD[1]," ----- Canibais: ",vetE[1],"\n")
print("Barco -> Missionarios : ",barco[0]," Canibais: ",barco[1],"\n")
movBarco = "fim"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment