#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;
}
, только нужно С#) а не С++
203
316
Ответы на вопрос:
процессоров сколько включено если все 8 или 26 то тогда переразбери или обратись в службу ремонта
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Alexander16907.07.2021 20:59
-
jasmina1405.03.2023 13:54
-
сонечка28100608.06.2023 03:40
-
Давиденко27.01.2022 16:58
-
СерегаБатя20.09.2020 16:17
-
elenka42129.04.2021 06:15
-
Павел964112.12.2020 06:45
-
бог2003129.09.2021 13:07
-
VoinBogov21.01.2023 11:53
-
RAMINA190318.05.2020 19:21
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.