Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 04.05.2018
Сообщений: 5

Перевести с С++

06.05.2018, 10:34. Показов 2481. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста с переделкой алгоритма поиска наибольшего паросочетания в двудольном графе с С++ на С#.
C C++ совсем не дружу(
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include 
#include
using namespace std;
 
int n1; //количество вершин в первой доле графа
int n2; //количество вершин во второй доле графа
int m; //количество ребер в графе
vector *adj; //список смежности
vector used; //массив для хранения информации о пройденных и не пройденных вершинах
int mtSize = 0; //размер максимального паросочетания
vector mt; //массив для хранения ребер, образующих максимальное паросочетание
 
           //алгоритм Куна поиска максимального паросочетания
bool kuhn(int v) {
    //если вершина является пройденной, то не производим из нее вызов процедуры
    if (used[v]) {
        return false;
    }
    used[v] = true; //помечаем вершину первой доли, как пройденную
                    //просматриваем все вершины второй доли, смежные с рассматриваемой вершиной первой доли
    for (int i = 0; i < adj[v].size(); ++i) {
        int w = adj[v][i]; //нашли увеличивающую цепь, добавляем ребро (v, w) в паросочетание if (mt[w] == -1 || kuhn(mt[w])) { mt[w] = v; return true; } } return false; } //процедура считывания входных данных с консоли void readData() { //считываем количество вершин в первой и второй доли и количество ребер графа scanf("%d %d %d", &n1, &n2, &m); //инициализируем список смежности размерности n1 adj = new vector[n1];
 
                           //считываем граф, заданный списком ребер
        for (int i = 0; i < m; ++i) {
            int v, w; scanf("%d %d", &v, &w); v--; w--; 
            //добавляем ребро (v, w) в граф 
            adj[v].push_back(w); 
        } 
        used.assign(n1, false); 
        mt.assign(n2, -1); 
    } void solve() 
    { 
        //находим максимальное паросочетание 
        for (int v = 0; v < n1; ++v) 
        { 
            used.assign(n1, false); 
            //если нашли увеличивающую цепь, 
            //то размер максимального паросочетания увеличиваем на 1 
            if (kuhn(v)) 
            { 
                mtSize++; 
            } 
        } 
    } 
    void printData() 
    { 
        printf("%d\n", mtSize); 
        for (int i = 0; i < n2; ++i) 
        { 
            if (mt[i] != -1) 
            { 
                printf("%d %d\n", mt[i] + 1, i + 1); 
            } 
        } 
    } 
    int main() 
    { 
        readData(); 
        solve(); 
        printData(); 
        return 0; 
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.05.2018, 10:34
Ответы с готовыми решениями:

Перевести фиолетовый (105, 62, 151) из RGB в HSB, уменьшить яркость в 2 раза и перевести обратно
Помогите пожалуйста! Перевести фиолетовый (105, 62, 151) из RGB в HSB, уменьшить яркость в 2 раза и перевести обратно

QString перевести в char* || QChar перевести в char*
Подскажите пожалуйста как сделать: Исходники в utf-8, qt4.8 setlocale(LC_ALL, &quot;Russian&quot;); QTextCodec *wincodec =...

Как презентации SWF флэш сайта перевести в HTML5 с сохранением эфектов ) Как правильно и полноценно Перевести SWF в HTML5
программа Sothink SWF Decompiler конвертирует SWF файл в HTML5 разбивая его на HTML и JS ...но она тянет только файл 15kb ...это очень...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.05.2018, 10:34
Помогаю со студенческими работами здесь

Текстовый файл перевести в двоичный, а потом полученный двоичный файл перевести обратно в текстовый
Всем привет. Есть такая задачка: &quot;текстовый файл перевести в двоичный, а потом полученный двоичный файл перевести обратно в текстовый&quot;...

Перевести из С++ в C#
Знающие люди, помогите. Имеется код на С++, под C# WinForms переделал, но не пойму как переделать эту строку. ...

Перевести из c++ в си
#include&lt;iostream&gt; using namespace std; int main(){ float a, sum=0, proiz=1; int i,j,n,k,l; cout&lt;&lt;&quot;Vvedite elementy...

Перевести с VB в C#
Народ помогите плз переделать в c# код. Этот код, при выделении ряда в datagride, отображает данные вроде как в label с выделенного ряда....

Перевести из С++ в Си
Заранее спасибо) #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;ctime&gt; #include &lt;cstdlib&gt; using namespace std; int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru