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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2011, 08:37   #1
Mollerat
Пользователь
 
Аватар для Mollerat
 
Регистрация: 11.03.2009
Сообщений: 25
По умолчанию Найти остовное дерево минимальной длины.

Всем привет! помогите плиз с задачей.

Дана плоская страна и в ней n городов. Нужно соединить все города телефонной связью так, чтобы общая длина телефонных линий была минимальной. В терминах теории графов Прима-Краскала выглядит следующим образом: Дан граф с n вершинами: длины ребер заданы матрицей (а[i,j]), i,j =1,..,n. Найти остовное дерево минимальной длины.

Имеется вот такой код:

Код:
{$APPTYPE CONSOLE}
var MinPut:word;
 Goroda:array[1..10,1..10]of byte;
procedure recursiya(uv,ug,PP:byte);
begin
 PP:=PP+goroda[UV,UG];//Увеличить пройденный путь
 if UV=10 then begin//Если дошли до конца
      if PP<MinPut then MinPut:=pp;//Если пройденный путь < Минимального, то минимальный := пройденный путь.
    end;
 if UG<10 then recursiya(UV,UG+1,PP) else{Если не дошли до конца по горизонтали, то проходим вправо}
 if UV<10 then recursiya(UV+1,1,PP);{Иначе если не дошли до дна, то то спускаемся ниже на один уровень}
end;

var i,j:byte;
begin
 for i:= 1 to 10 do
 for j:= 1 to 10 do
 goroda[i,j]:=i+j;//Заполнения массива городов
 MinPut:=65535;//Минимальный путь.
 Recursiya(1,1,0);{Вызов подпрограммы}
 WriteLn(MinPut);
 ReadLn;
end.
Но он выдает только число 2. В чем ошибка?

В заранее спасибо.
Mollerat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[mysqld] ft_min_word_len=3 - изменение минимальной длины слова в поиске MySQL Alar SQL, базы данных 2 13.09.2020 05:21
Запрос из связанных таблиц: выбрать слово минимальной длины Manonia SQL, базы данных 6 20.09.2010 06:00
MinLines(f), которая вставляет строку минимальной длины в начало и конец файла ArtS Паскаль, Turbo Pascal, PascalABC.NET 0 24.05.2009 19:13