Это же информатика, а в компьютере задача решается либо прямым перебором всех возможных вариантов (и выбора наименьшего из всех ответов), либо в целях ускорения расчета применением логических упрощений (но после этого опять производится прямой перебор оставшихся вариантов).
По условию задачи из пункта А в B, а также из пункта Е в F можно добраться только по одной дороге, значить в сумме это займет 3+2=5 км.
А дальше алгоритм разветвляется и проверяется условия:
1. B-С-E=2+5=7 км
2. B-D-E=3+3=6 км
3. В-Е=7 км,
отсюда следует, что наикратчайший путь под номером 2.
Все суммируем: 5+6=11 км (в конце проверяем, не больше ли он прямой дороги из А в F)
Значит и ответ 11 км
Const n=14;
var
a,b,c: array[1..n] of integer;
i: byte;
begin
randomize;
for i:=1 to n do begin;
a[i]:=random(-10,10);
b[i]:=random(-10,10);
end;
println (a);
writeln;
println (b);
writeln;
for i:=1 to n do begin;
c[i]:=a[i]*b[n+1-i];
end;
println (c);
end.
---------------------------------
Пример:
9 10 -10 6 3 -4 -3 6 4 -9 6 -9 2 -10
-3 -10 9 -4 8 -9 -6 -1 -9 6 6 -10 0 -9
-81 0 100 36 18 36 3 -36 -36 -72 -24 -81 -20 30
program raf105;
const
n = 35;
var
a: array[1..30] of integer;
b: array[1..40] of integer;
c: array[1..n] of integer;
i : integer;
begin
writeln('Заполните массив A');
for i:=1 to 30 do
readln(a[i]);
writeln('Заполните массив B');
for i:=1 to 40 do
readln(b[i]);
writeln('Заполните массив C');
for i:=1 to n do
readln(c[i]);
for i:=1 to 40 do
begin
if (a[i] < 0) or (b[i] < 0) then
begin
writeln('Нет');
break
end;
if c[i] < 0 then
begin
writeln('Да');
break
end;
end;
end.
<h3>PascalABC</h3>
#include <cstdio>
<span>long long ans, a;
</span><span>int main()
</span><span>{
</span><span> scanf("%lld", &a); //считываем исходное число
</span><span> a *= a; //возводим исходное число в квадрат
</span><span> ans = a; //в ответе хранится квадрат исходного числа
</span><span> a *= a; //в a хранится 4 степень исходного числа
</span><span> a *= a; //в a хранится 8 степень исходного числа
</span><span> ans *= a; //2 степень исходного числа умножаем на 8 степень
</span><span> printf("%lld", ans); //выводим ответ
</span><span> return 0;
</span><span>}</span>
#include <iostream>
int main(){<span>
unsigned int m = 0;
</span><span> std::cin >> m;
</span><span>
int * c = new int[m];
</span><span> int * t = new int[m];
</span><span> for (unsigned int i = 0,n = 0; i < m; ++i) {
</span><span> std::cin >> c[i];
</span><span> (c[i] > 0) ? t[n++] = c[i]: t[m-(i-n)-1] = c[i];
</span><span> }</span>
<span>
for (unsigned int i = 0; i < m; ++i)</span><span> std::cout << c[i] << ',';</span><span /><span>
std::cout << std::endl;</span><span>
for (unsigned int i = 0; i < m; ++i) </span><span>std::cout << t[i] << ',';</span><span />
<span> delete c;
</span><span> delete t;
</span><span> return 0;
</span><span>}</span>