Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2012, 06:55   #1
Begemotik_#
Новичок
Джуниор
 
Регистрация: 15.05.2012
Сообщений: 1
По умолчанию Поиск максимального паросочетания в графе

Здравствуйте, подскажите пожалуйста возможно ли данный код (С, как я понимаю) перевести на Паскаль?
Нужно решить задачу поиска максимального паросочетания в графе. Здесь описан Алгоритм Куна.

Код:
int n, k;
vector < vector<int> > g;
vector<int> mt;
vector<char> used;
 
bool try_kuhn (int v) {
	if (used[v])  return false;
	used[v] = true;
	for (size_t i=0; i<g[v].size(); ++i) {
		int to = g[v][i];
		if (mt[to] == -1 || try_kuhn (mt[to])) {
			mt[to] = v;
			return true;
		}
	}
	return false;
}
 
int main() {
	... чтение графа ...
 
	mt.assign (k, -1);
	for (int v=0; v<n; ++v) {
		used.assign (n, false);
		try_kuhn (v);
	}
 
	for (int i=0; i<k; ++i)
		if (mt[i] != -1)
			printf ("%d %d\n", mt[i]+1, i+1);
}
Begemotik_# вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм нахождения, максимального потока в Графе densi2009 Общие вопросы Delphi 0 27.05.2010 23:12
Поиск минимального и максимального пути в графе!!!! OZZY_91 Помощь студентам 1 18.11.2009 13:20
Поиск циклов в графе.Си. Karabas Помощь студентам 0 22.10.2009 23:57
Поиск в графе Selebro Общие вопросы C/C++ 0 14.12.2008 17:06