ответ: 33
Объяснение: В "Ж" можно приехать из Е, К, З, В или Б, поэтому N = NЖ = NЕ + NК + N З + NВ + NБ (1)
NЕ = NБ + NК;
NК = NЗ + NИ;
NЗ = NВ + NГ + NД;
NВ = NА + NБ = 1 + 1 = 2;
NБ = NА = 1.
Добавим еще вершины:
NГ = NА = 1;
NД = NА + NГ = 1 + 1 = 2;
NИ = NЗ + NД = NЗ + 2;
Преобразуем первые вершины с учетом значений вторых:
NЕ = NБ + NК = 1 + 12 = 13 ;
NК = NЗ + NИ = 2NЗ + 2 = 10 + 2 = 12;
NЗ = NВ + NГ + NД = 2 + 1 + 2 = 5;
NВ = NА + NБ = 2;
NБ = NА = 1.
Подставим в формулу (1):
N = NЖ = 13 + 12 + 5 + 2 + 1 = 33
46
Объяснение:
Будем последовательно находить количество дорог до пунктов, которые встречаются по пути к пункту Ж. Мы уже находимся в городе А, поэтому туда можно сказать ведет 1 дорога. ставим метку. От города А дороги идут в Б Г В и Д, но мы не можем сказать, сколько дорог ведет в города Г В и Д, потому что в них ведет по 2 дороги, из А и из Б/B/Г соответственно, а знаем мы только количество дорог в А(1). Поэтому ставим метку городу, которому мы ее можем дать - это город Б, в который ведет только 1 дорога из А. Количество дорог в какой-либо город равна сумме дорог в города, которые предшествуют ему. То есть в Б ведет тоже только 1 дорога. Помечаем.
По аналогии делаем со всеми другими городами:
Город В: в него ведут 2 дороги, из А и Б, суммируем количество дорог в них и получаем количество дорог в В, то есть 1+1=2.
Город Г: 2 дороги, из А и В, то есть количество дорог в г равно сумме дорог в А и В, то есть 1+2=3
И так далее. Рисунок со всеми метками прикреплен
p[0] = 0;
//заполняем массив рандомными числами от 0 до 10
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
c[i][j] = 0 + rand()%10; //заполнил рандомными числам от 0 до 10
}
}
//теперь проходим массив по столбцам и просчитываем их произведение
for (int j = 0; j < 6; j++)
{
for (int i = 0; i < 6; i++)
{
p[1] *= c[i][j]; //произведение столбца
}
//проверяем если произведение предыдущего столбца меньше
//то мы записываем индекс большего столбца
if (p[0] < p[1])
{
p[0] = p[1];
index = j;
}
}
//и собственно меняем наши столбцы местами
for (int i = 0; i < 6; i++)
{
buff = c[i][0];
c[i][0] = c[i][index];
c[i][index] = buff;
}
дальше с выводом и библиотеками думаю сам разберешься