Главная страница
    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.04 c
2-1164609598
alex810
2006-11-27 09:39
2006.12.17
Компонент Query


1-1162539533
Gear
2006-11-03 10:38
2006.12.17
Как правильно закрыть все потоки закрывая программу?


11-1140581535
LAutour
2006-02-22 07:12
2006.12.17
Возможно ли разместить KOLButton на KOLSplitter?


3-1160476003
alucard
2006-10-10 14:26
2006.12.17
Подскажите как выловить добавление записи в базу


15-1164564347
SkySpeed
2006-11-26 21:05
2006.12.17
HELP! Где можно скачать венгерско-русский переводчик и наоборот?!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский