Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];

Вниз

Задача коммивояжера! Мое решение, помогите дорешать!   Найти похожие ветки 

 
Dbe   (2006-11-26 15:07) [0]

Помоги, пожалуйста, разобраться! Вот такая задача и примерно мое решение! Как доделать! Заранее благодарен!

Дано множество точек на плоскости. Найти ломаную минимальной длины, соединяющую все точки множества.
Вход:
В текстовом файле INPUT.TXT записаны вещественные координаты точек. Количество точек НЕ записано в файле, но не превосходит 30.
Выход:
В текстовый файл OUTPUT.TXT записать длину найденной ломаной с тремя дробными цифрами.
Пример входа:
1.99 -1.31
8.91  4.44
1.29 -7.21
8.28  9.73
-9.07  1.80
2.66 -7.42
Пример выхода:
35.587

Мое решение:

{$APPTYPE CONSOLE}
uses
 SysUtils;
const
 Nmax=100;
type
 Tpoint=record
   x,y: real;
 end;
var
 a: array[1..Nmax,1..Nmax] of real;
 p: array[1..Nmax] of Tpoint;
 n,i,j: integer;

function dlina(a,b: Tpoint): real;
begin
    dlina:=sqrt(sqr(a.x-b.x)+sqr(a.y-b.y));
end;
begin
 Assign(Input,"input.txt"); reset(Input);
 Assign(output,"output.txt"); rewrite(output);
 readln(n);
 for i:=1 to n do readln(p[i].x,p[i].y);
 for i:=1 to n do
   for j:=1 to n do a[i,j]:=dlina(p[i],p[j]); //тут создается матрица смежности
 // а что дальше?
end.


 
MBo ©   (2006-11-26 16:13) [1]

В google нетрудно найти, например, решение методом ветвей и границ


 
shcamane   (2006-11-26 16:15) [2]

Задача о коммавояжоре не имеет четкого, не эвристического решения, кроме метода полной индукции.


 
Рамиль ©   (2006-11-26 16:50) [3]


> Мое решение:


>  // а что дальше?

С тем же успехом мог сказать дайте код :)


 
KilkennyCat ©   (2006-11-26 17:02) [4]

> // а что дальше?

баул на горб и вперед, торговать.


 
Anatoly Podgoretsky ©   (2006-11-26 17:24) [5]

> KilkennyCat  (26.11.2006 17:02:04)  [4]

Опыта набираться :-)


 
TUser ©   (2006-11-27 05:23) [6]

> shcamane   (26.11.06 16:15) [2]

... в общем случае. В частных случаях - имеет.


 
PHPDeveloper   (2006-11-27 05:32) [7]

Мде.
Есть книга, название и автора не помню :DD (в голове крутится, но вспомнить не могу), так там разобраны методы решения распрастраненных задача (ваша задача, ханойские башни и т.п.). Если не ошибась можно найти на сайте: g6prog.narod.ru, там же в разборах задач, может что полезное есть.
Давно там был



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.039 c
3-1160596997
БогданБ
2006-10-12 00:03
2006.12.17
Поиск по похожему номеру


15-1164776598
DelphiN!
2006-11-29 08:03
2006.12.17
Как изменить рабочую группу компьютера в локальной сети?


15-1164626305
miek
2006-11-27 14:18
2006.12.17
Будут ли OLPC в России?


1-1162441631
Tex
2006-11-02 07:27
2006.12.17
Подсвечивание заголовков в PageCotrol


15-1164730131
WErqw
2006-11-28 19:08
2006.12.17
Ну дайте решение задачи коммивояжера!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский