KIRICHbyKIRICH
20.05.2020 16:49

#include #include
#include
#include
using namespace std;
const int ver_max = 45;
int ver_num;
const int IMMENSITY = 10000;
int f[ver_max][ver_max];
int c[ver_max][ver_max];
int flux[ver_max];
int route[ver_max];
int turn[ver_max];
int tp, tc;
//Функция для нахождения пути
int GetWay(int origin, int dry)
{
tp = 0; tc = 1; turn[0] = origin;
route[dry] = -1;
int i;
int NodeCut;
memset(flux, 0, sizeof(int)*ver_num);
flux[origin] = IMMENSITY;
while (route[dry] == -1 && tp < tc)
{
NodeCut = turn[tp];
for (i = 0; i < ver_num; i++)
if ((c[NodeCut][i] - f[NodeCut][i]) > 0 && flux[i] == 0)
{
turn[tc] = i; tc++;
route[i] = NodeCut;
if (c[NodeCut][i] - f[NodeCut][i] < flux[NodeCut])
{
flux[i] = c[NodeCut][i];
}
else
{
flux[i] = flux[NodeCut];
}
}
tp++;
}
if (route[dry] == -1) return 0;
NodeCut = dry;
while (NodeCut != origin)
{
f[route[NodeCut]][NodeCut] += flux[dry];
NodeCut = route[NodeCut];
}
return flux[dry];
}
//Функция для нахождения максимального потока
int FluxMax(int origin, int dry)
{
memset(f, 0, sizeof(int)*ver_max*ver_max);
int FluxMax = 0;
int FluxAdd;
do
{
FluxAdd = GetWay(origin, dry);
FluxMax += FluxAdd;
}
while (FluxAdd > 0);
return FluxMax;
}
//Основной код программы
int main()
{
int origin, dry;
system("title Поиск максимального пути методом Форда — Фалкерсона");
setlocale(LC_ALL, "Russian");
printf("Введите количество вершин:");
scanf_s("%d", &ver_num);
printf("Введите исток А и сток В (счет начинается с 0!):");
scanf_s("%d %d", &origin, &dry);
int i, j;
printf("Введите смежную матрицу графа: \n");
for (i = 0; i < ver_num; i++)
for (j = 0; j < ver_num; j++)
scanf_s("%d", &c[i][j]);
printf("Максимальный поток сети от истока %d до стока %d: %d", origin, dry, FluxMax(origin, dry));
_getch();
return 0;
}
, только нужно С#) а не С++

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
nastya66669
02.02.2023 21:20
Вам нужно зайти в меню «Пуск», в строке поиска написать команду «CMD» и нажать клавишу «Enter». Откроется окно терминала, где вам нужно ввести команду «ipconfig» и вновь нажать клавишу «Enter», после чего откроется список всех ваших сетевых подключений.

В этом списке вы увидите и ваш ip адрес и, соответственно, маску подсети Заходите в Панель управления\Сеть и Интернет\Сетевые подключения, выбираете ваше подключение и кликом правой кнопкой мыши переходите в графу «Состояние». В открывшемся окне кликните по клавише «Сведения». Откроется новое окно вашего подключения, где будут указаны ваш ip и маска подсети. Еще один узнать маску подсети по ip адресу: кликните по значку подключения в правом нижнем углу монитора и выберите «Центр управления сетями». Затем кликните в открывшемся окне «Изменение параметров адаптера» и дальше действуете аналогично вышеописанному варианту: начиная с выбора вашего подключения.
0,0(0 оценок)
Ответ:
25409
21.01.2022 05:45

в 3 раза

Объяснение:

Т.к. изображение одно и тоже, то количество точек в них одинаковое (K).

i = 24 бит для p1.bmp

2^i = 256

i = 8 бит для  p2.bmp

Для p1.bmp V = 24K

Для p2.bmp  V = 8K

24 / 8 = 3

В 3 раза будет меньше информационный объём файла p2.bmp.

V = K * i, где  

V - информационный объём изображения (размер файла, содержащего изображение)

K - количество точек (пикселей )

i - глубина цвета (число бит, используемых для записи цвета одного пикселя)

N = 2^i, где  

N - количество цветов в палитре

i - глубина цвета (число бит, используемых для записи цвета одного пикселя)

^ - знак степени

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота