В город М напрямую можно попасть только из города Н (в который напрямую можно попасть только из города Ж), и из города Ж. Значит, для любого пути в Ж из А есть два варианта, как проехать в М.
В город Ж можно попасть напрямую из городов В, Г, и Д. В город В из города А можно попасть тремя путями: АБВ, АГВ и АБГВ, в город Г - двумя: АГ и АБГ, в город Е - тремя: АГЕ, АДЕ и АБГЕ.
Итого: Из города А в город Ж есть 3+2+3=8 путей, из Ж в М - 2 пути. Для каждого пути из А в Ж есть оба варианта пути из Ж в М, поэтому умножаем: 8×2=16 путей.
ответ: 16 путей
Буду очень благодарен, если Вы отметите мой ответ как лучший!
#include <iostream>
#include <iomanip>
using namespace std;
int** matrCreate(int n)
{
int** M;
M = new int *[n];
for (int i = 0; i < n; i++)
M[i] = new int [n];
return M;
}
void matrInit(int** M, int n)
{
srand(time(0));
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
M[i][j] = rand()%199 - 99 ;
}
void matrPrint(int** M, int n)
{
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
cout << setw(5) << M[i][j];
cout << endl;
}
}
void matrTransform(int** M, int n)
{
int im, jm, max = -1000, s = 0;
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
if (M[i][j] > max)
{
max = M[i][j];
im = i;
jm = j;
}
if (i == j)
s += M[i][j];
}
}
M[im][jm] = s;
}
void clearMem(int** M, int n)
{
for (int i = 0; i < n; i++)
{
delete [] M[i];
}
delete [] M;
}
int main()
{
int n;
cin >> n;
int **A;
A = matrCreate(n);
matrInit(A, n);
matrPrint(A, n);
cout << endl;
matrTransform(A, n);
matrPrint(A, n);
clearMem;
return 0;
}
#include <iostream>
#include <cmath>
#include <windows.h>
using namespace std;
const double e = -1.6 * pow(10, -19);
int main()
{
SetConsoleCP(65001);
SetConsoleOutputCP(65001);
double q;
float N;
cout << "Введите q ( * 10^-13 Кл): ";
cin >> q;
q *= pow(10, -13);
N = (q / e) / pow(10, 6);
cout << N << (" * 10^6");
return 0;
}