1. Отыскиваем в таблице строку (или столбец, без разницы), в которой больше всего чисел. Это П2 - 4 числа. Теперь на картинке ищем узел, из которого выходят 4 пути. Это узел В и ставим возле него П2. первый узел отыскали.
2. Отметим в таблице остальные строки, в которых больше всего чисел. Это строки П3 и П6 (три числа). На графе есть связь между В (П2) и узлом, из которого выходят три пути. Ищем в таблице пересечение строки П2 с колонкой П3 или П6. Видим, что на пересечении П2/П3 указано число 10. Делаем вывод, что Г- это П3 и ставим на пути В-Г число 10.
3. На графе осталась еще одна точка с тремя путями - Е. А претенднт на ней только один - П6. Следовательно, П6 - это Е и ставим длину 15 из таблицы для пересечения строки П3 с колонкой П6.
4. Из Г есть три пути - к В, Е и К. Два из них мы определили, поэтому легко находим третий. В строке П3 есть еще только одно "необработанное" число на пересечении с колонкой П5. Следовательно, П5 - это К и проставляем на пути Е-К длину 20. Красными линиями на рисунке показана проверка - действительно, только строки П3 и П5 имеют общее пересечение с колонкой П6.
5. Строки П2 и П6 имеют общее пересечение с колонкой П4, (показано зеленым), которое мы еще не обрабатывали. По графу видим, что это точка Д. Проставляем на графе длины путей
6. Остались точки А и Б. Они симметричны относительно точки В, поэтому назначаем их произвольно.
7. Определяем кратчайший путь из В в К. Ищем все возможные пути и выписываем сумму чисел, проставленных на путях, по которым идем.
Минимальная сумма будет на пути, показанном зеленым цветом:
5+10+10=25. Это и есть длина кратчайшего пути.
Текстовае даные-что нибудь написать декорирование- разукрасить наглядность более точнее
Program Num1;
var a, b, c , s, p, rb, ro :real;
begin
writeln ('Введите стороны треугольника через пробел');
read (a,b,c);
p:= (a+b+c)/2;
s:= sqrt(p*(p-a)*(p-b)*(p-c));
rb:= s/p;
ro:= (a*b*c)/(4*s);
writeln ('RB = ',rb:0:2,' RO = ',ro:0:2);
end.
2)В конце программы будет написано:
данные
1418324196
результат:a=14,k=18