IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Помогите решить задачу про города, Графы
J.Bond_33
сообщение 8.06.2010 19:03
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Виталий

Репутация: -  0  +


В программу вводится количество городов Q, и в 2 массива (XC и YC) вводятся координаты городов.
Нужно написать программу которая бы считала как нужно соединить города дорогами так, что бы сумма длин дорог была наименьшей.
вот что я смог написать
uses crt;
const Qmax=50;
type graf=array [1..Qmax,1..Qmax] of integer;
tyMas= array [1..Q] of integer;
var i,j,Q,k:integer;
ML,R:graf;
XC,YC,Mas:tyMas;

procedure MiEl(Mos:tyMas; N:integer);

var Min,Im:integer;

begin
Im:=1;
Min:=Mos[Im];
for k:=1 to N do
if Min>Mos[k] do begin Im:=k; Min:=Mos[Im]; end;
Mos[N+1]:=Im;
end;

Begin
writeln('Vvedite kolichestvo gorodov')
read(Q);
writeln('Vvedite koordinaty gorodov');
for i:=1 to Q do read(XC[I],YC[I]);
For i:=1 to Q do
For j:=1 to Q do begin
ML[i,j]:=abs(XC[I]-XC[j])+abs(YC[I]-YC[j]);
if ML[i,j]=0 then ml[I,j]:=maxint;
end;
for i:=1 to Q do begin
for J:=1 to Q do Mas[J]:=ML[i,j];
MiEl(Mas,Q);
R[I,1]:=i;
R[I,2]:=Mas[Q+1];
end;
for i:=1 to Q do
if R[I,1]=R[R[I,2],2] then
R[R[I,2],1]:=0;
writeln('Dorogi:')
for i:=1 to Q do
if R[i,1]<>0 then writeln(R[I,1],' ',R[I,2]);
end.


осталось только дописать проверку получившегося графа на связность wacko.gif , кто нибудь может помочь??

Сообщение отредактировано: J.Bond_33 - 9.06.2010 14:05
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 18:25
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"