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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2018, 14:05   #1
alnik
 
Регистрация: 13.01.2018
Сообщений: 3
По умолчанию Минимальное время обхода островов delphi

Такая задача: Имеется n островов с заданными координатами. С каждого острова можно построить m(i) количество мостов(m<n). Необходимо так соединить острова мостами, чтобы можно было за минимальное время обойти все острова.

Я так понял, что эта задача похожа на нахождение кратчайшего пути в графе. Но может быть и нет.

Есть у меня алгоритм перебора, который выводит все варианты обхода, но как реализовать само решение я не знаю, в делфи очень плох, кто подскажет, что можно сделать?

Код:
Procedure Vivod;
Var i:integer;
    s:string;
begin
   s:='';
   For i:=1 to n do
   s:=s+IntToStr(arrbit[i]);

   Form1.ListBox1.Items.Add(s)
end;


Procedure Perebor(k:integer;s:SetInt);
Var i:integer;
begin
   if s=[] then begin
        Vivod;
        Exit
    end;
    For i:=1 to n do
       If i in s then begin
           arrbit[k]:=i;
           Perebor(k+1,s-[i]);
       end;

end;
alnik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив целых чисел. Найти максимальное и минимальное значение. Вывести максимальное на 1-ое место, минимальное на последнее. Punk_Killer Паскаль, Turbo Pascal, PascalABC.NET 1 01.04.2013 09:38
Минимальное время распознавания страницы Steh Помощь студентам 2 16.08.2012 22:16
рыцари 40 островов макс1м Помощь студентам 0 11.05.2012 01:24
Помогите... минимальное время работы! Не всилах решить (( Rhamzes Microsoft Office Excel 0 29.06.2009 21:06