Из пункта К можно попасть в Л или Н, при этом изначально для нас предпочтительнее Н, т.к. он короче на 1 км.
Глянем теперь на конечный пункт - из пункта О можно попасть только в пункт М, таким образом нам необходимо найти кратчайший путь из пункта К в пункт М.
Рассмотрим наиболее предпочтительный путь для начала: К-Н.
Можем ли мы попасть из пункта Н в путь М сразу? Да, за 4 км.
Сравним с ситуацией в пункте Л. Можем ли мы попасть в пункт М сразу? Да, тоже за 4 км.
Поскольку из Л и Н попасть в пункт М можно за 4 км, то мы сразу можем понять, что правильный путь это К-Н, потому что он выгоднее на 1 км изначально, а в дальнейшем пути одинаковые.
В результате чего у нас получается путь К-Н-М-О или 2+4+3 = 9 км.
9 км, путь К-Н-М-О
Объяснение:
Из пункта К можно попасть в Л или Н, при этом изначально для нас предпочтительнее Н, т.к. он короче на 1 км.
Глянем теперь на конечный пункт - из пункта О можно попасть только в пункт М, таким образом нам необходимо найти кратчайший путь из пункта К в пункт М.
Рассмотрим наиболее предпочтительный путь для начала: К-Н.
Можем ли мы попасть из пункта Н в путь М сразу? Да, за 4 км.
Сравним с ситуацией в пункте Л. Можем ли мы попасть в пункт М сразу? Да, тоже за 4 км.
Поскольку из Л и Н попасть в пункт М можно за 4 км, то мы сразу можем понять, что правильный путь это К-Н, потому что он выгоднее на 1 км изначально, а в дальнейшем пути одинаковые.
В результате чего у нас получается путь К-Н-М-О или 2+4+3 = 9 км.
Надеюсь, логика понятна :)
import random
class Passanger:
def __init__(self, name_pass, bagadge_value, bagadge_quantity):
"""Constructor"""
self.name_pass = name_pass
self.bagadge_value = bagadge_value
self.bagadge_quantity = bagadge_quantity
if __name__ == "__main__":
list_name_pass = ["Иванов","Иванова","Калдыбег","Мухутдинов","Карелов","Анакондов"]
list_bagadge_value = [25,1,4,14,29,35,2,4,25,6,25,3]
list_bagadge_quantity = [1,4,5,1,1,1,1,1,1,4]
list_passangers = []
random.shuffle(list_name_pass)
random.shuffle(list_bagadge_value)
random.shuffle(list_bagadge_quantity)
for i in range(len(list_name_pass)):
list_passangers.append(Passanger(list_name_pass[i],list_bagadge_value[i], list_bagadge_quantity[i]))
print("Подходят под условие:")
for i in list_passangers:
if (i.bagadge_value < 25 and i.bagadge_quantity == 1):
print(i.name_pass, i.bagadge_value, i.bagadge_quantity)
print("")
print("Пассажиры:")
for i in list_passangers:
print(i.name_pass, i.bagadge_value, i.bagadge_quantity)
Объяснение:
https://pastebin.com/hNT2m49y