text = "Программа! " # Переменная text Содержит строку "Программа! "
print(text [0:10]) # Индексирование каждого символа строки. [:] - Это срез. [0:10] - Вывести 10 символов - Целая строка, но только без пробела в конце строки, тк заданная команда выводит все символы строки (Если было бы [0:11] - то пробел конечно же был бы включен)
print(text [0:4]) # Вывести символы от индекса 0 - Это символ П, до индекса 4 - Это символ Р. Результат: Прог
print(text [-2]) # Отрицательное значение, обычно применяется для того, чтобы взять что-либо с конца строки, списка и т.п..
print(text [::3]) # Вывести каждый символ с чередованием 3 символа. Так скажем... Перешагнуть 2 символа, и уже 3й распечатать
Данную задачу можно представить в виде графа для более наглядного решения (см. рисунок 2)
Здесь черные кружки - это пункты
Красные линии - это возможные пути перехода из одного пункта в другой
Если от одного пункта к другому нет линии, значит нельзя перейти о чем в таблице свидетельствует пустая клетка на перекрестье пунктов в таблице.
на рисунке 1 показано как найти расстояние от B до С или от С до B (направление не имеет разницы)
Для задачи с маленьким количеством пунктов (как в примере) можно воспользоваться простым перебором
следуя от пункта А к пункту Е, складывая длины переходов, тем самым можно найти наименьший.
Например (путь A-B-C-E)
2+1+2=5
путь A-D-C-E
1+3+2=5
пусть A-C-E
5+2=7
Отсюда мы видим что минимальный путь равен 5
Объяснение: