Не попавшую на рисунок вершину обозначим К.
С пунктом В связано наибольшее количество точек - ему соответствует П6. Пункт Е - единственный, который не связан с В - на его роль претендует только П2. Только пункт К имеет связь ровно с тремя вершинами - по таблице ему подходит П4.
Имеем:
В - П6
Е - П2
К - П4
Зная, что вершина Д связана с Е, определим по таблице, что ей подходит П7 (П4 уже занята пунктом К). Точке Г соответствует П3.
Осталось посчитать расстояния всевозможных маршрутов от В до Е и выбрать кратчайший.
В-Д = П6-П7 = 20
Д-Е = П7-П2 = 15
В-Д-Е = 20+15 = 35
В-К = П6-П4 = 25
К-Е = П4-П2 = 5
В-К-Е = 25+5 = 30
В-Г = П6-П3 = 10
Г-К = П3-П4 = 10
К-Е = П4-П2 = 5
В-Г-К-Е = 10+10+5 = 25
25 < 30 < 35
Таким образом, длина кратчайшего маршрута - 25.
Вообще, при решении подобных задач старайтесь искать какие-нибудь зацепки - например, вершины с таким количеством соседей, которого нет у других вершин (вроде вершин В и К в этой задаче). Где-то можно использовать метод исключения и т.п.
10101:101
Сначала нужно представить в 8 битном формате (8 знаков) получается
00010101 : 00000101
сдвигаем делитель (00000101) влево пока позиция старшего значения единицы, в нем, не совпала с позицией старшего значения единицы в делимом (00010101). Получается делитель равняется 00010100. И запоминаем количество сдвигов (2).
Нам нужно представить делитель в дополнительном коде(это типо обратное число + 1 вот так: 00010100 прямой код = 11101011 + 1 = 11101100 дополнительный код). Если в начале цифры 1 то это отрицательной число таким образом -делитель = делитель в доп. коде.
Вычитаем из делимого (00010101) делитель (11101100) получается 00000001(частный), с остатком 1 (частный остаток). Вспоминаем количество сдвигов (2) и столько же сдвигаем влево наш частый получается 100 и 1 остаток.
В общем все сложно а результат 10101 : 101 = 100 и 1 в остатке.
А еще точнее 100.00110011
Объяснение:
Вот ссылка там можешь решать подобные задачи и объяснение там лучше моей: http://www.reshinfo.com/delenije_1.php
просто значение Разрядная сетка постав 8 бит
ну остальное сам поймешь
arr = list(input().split())
arr0 = list()
j = int()
for i in range(len(arr)):
if arr[i] == '0':
arr0.insert(j,i)
j+=1
print(arr0)
Объяснение:
В питоне 1ый элемент массива обозначен как нулевой. Если вы хотите, чтоб в массив добавлялся номер, считая с одного, тогда поменяйте строку
arr0.insert(j,i)
на
arr0.insert(j,i+1)
Важно сохранять отступы.