На рисунке схема дорог N-ского района изображена в виде графа, в таблице содержатся сведения о протяженности каждой из этих дорог (в километрах).
| П1 | П2 | П3 | П4 | П5 | П6 | П7 | П8 | |
| П1 | 15 | 24 | 12 | |||||
| П2 | 15 | 13 | ||||||
| П3 | 18 | 43 | ||||||
| П4 | 9 | 41 | ||||||
| П5 | 24 | 18 | 39 | |||||
| П6 | 43 | 9 | 37 | |||||
| П7 | 13 | 37 | ||||||
| П8 | 12 | 41 | 39 |
Так как таблицу и схему рисовали независимо друг от друга, нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова сумма протяжённостей дорог из пункта G в пункт E и из пункта F в пункт H.
В ответе запишите целое число.
Заметим, что населенный пункт H единственный пункт степени 3, который связан с тремя пунктами степени 2, и при этом эти пункты не связанны друг с другом. Тогда населенный пункт H это пункт П6.
Заметим, что пункт E связан с пунктом степени 3 и степени 2, и при это он не связан с пунктом H, то есть с пунктом П6. Тогда населенный пункт E это пункт П2. Следовательно, пункт F это пункт П7 и пункт G это пункт П1.
Найдем сумму протяжённостей дорог из пункта G в пункт E и из пункта F в пункт H. Протяженность дороги из пункта G в E это дорога П1-П2 длинною 15. Протяженность дороги из пункта F в H это дорога П7-П6 длинною 37. Сумма протяжённостей дорог из пункта G в пункт E и из пункта F в пункт H равна 15 + 37 = 52.
Ответ: 52.
Приведем решение Александра Козлова на языке Python.
from itertools import *
s = '258 17 56 68 138 347 26 145'.split()
v = 'AG AD AC CG GE EF FH HD HB BC'.split()
print(*range(1,9))
for p in permutations('ABCDHFEG'):
if all(str(p.index(y)+1) in s[p.index(x)]
for x,y in v):
print(*p)
Результат:
1 2 3 4 5 6 7 8 - перед каждой цифрой добавляем букву «П»
G E B D C H F A - случай 1
G E D B A H F C - случай 2
Анализирпуя результат получаем два случая, но в обоих вершины GEHF - совпадают
G - П1
Е - П2
H - П6
F - П7
П1 + П2 = 15
П6 + П7 = 37. Итого 15+37 = 52

