0 / 0 / 0
Регистрация: 17.07.2015
Сообщений: 8
1

Алгоритм Дейкстры

30.10.2015, 19:35. Показов 2255. Ответов 6
Метки нет (Все метки)

Пожалуйста, можете указать где у меня ошибка(лучше всего укажите как её исправить)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
var f,n,s,i,j,min,p,nmin : longint;
        graph:array [1..1000,1..1000] of longint;
        flag,prev,d : array [1..1000] of longint;
begin
readln(n,s,f); 
for i:=1 to n do
  begin
   flag[i]:=0; 
   prev[i]:=0; 
  end;
for i:=1 to n do
  for j:=1 to n do
   begin
        read( graph[i,j]); 
        if  graph[i,j]=-1 then  graph[i,j]:=maxint div 2; 
   end;
p:=s; 
flag[s]:=1;
for i:=1 to n do
  d[i]:= graph[s,i]; 
for i:=1 to n-1 do
  begin
   min:=maxint div 2; 
   Nmin:=1; 
   for j:=1 to n do 
        if (flag[j]=0)and(d[j]<min) then 
        min:=d[j]; 
        Nmin:=j; 
                end;
   p:=nMin; 
   flag[p]:=1; 
   for j:=1 to n do begin
        if (flag[j]=0)and(d[j]>d[p]+ graph[p,j]) 
        then begin
        D[j]:=D[p]+ graph[p,j]; 
        prev[j]:=p; 
                end;
  end;
if d[f]>=maxint div 2 then writeln(-1)
  else writeln(d[f]);
end.
Самое главное что программа работает
на примере:
INPUT:
3 1 2
0 -1 2
3 0 -1
-1 4 0
OUTPUT:
6

А дальше почему то пишет неверный ответ. Помогите плиз!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2015, 19:35
Ответы с готовыми решениями:

Алгоритм Дейкстры
Помогите с программой. Алгоритм Дейкстры. Значения даны для примера. Их нужно вводить с клавиатуры!

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

Реализовать алгоритм Дейкстры от первой вершины до всех остальных - найти ошибку
помогите с програмой program Dijkstra; uses crt; const V=6; inf=100000; type vektor=array of...

Алгоритм Дейкстры
поиск минимального пути.Посмотрите что не так,не выводит минимальный путь!Бъемся 3-и недели неможем...

6
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
30.10.2015, 20:16 2
Запустил этот тест ничего вроде -1 или
Цитата Сообщение от NerdNicky Посмотреть сообщение
пишет неверный ответ
не вывело, просто 6 и все.
0
0 / 0 / 0
Регистрация: 17.07.2015
Сообщений: 8
30.10.2015, 20:30  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
не вывело, просто 6 и все.
У меня выводит

Добавлено через 1 минуту
Цитата Сообщение от Puporev Посмотреть сообщение
не вывело, просто 6 и все.
Вы не знаете в чем ошибка?

Добавлено через 1 минуту
Цитата Сообщение от Puporev Посмотреть сообщение
не вывело, просто 6 и все.
Должно 6 выводит и оно выводит, дело в том что на каких то других примерах о которых я ухом не веду она не работает
0
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
30.10.2015, 20:31 4
Цитата Сообщение от NerdNicky Посмотреть сообщение
У меня выводит
Что выводит? Программа или какая-то проверочная система?
0
0 / 0 / 0
Регистрация: 17.07.2015
Сообщений: 8
31.10.2015, 10:19  [ТС] 5
Цитата Сообщение от Puporev Посмотреть сообщение
Что выводит? Программа или какая-то проверочная система?
Программа выводит 6 при указанных входных данных, проверочная система принимает первый тест а на 2 тесте wrong answer
0
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
31.10.2015, 10:26 6
Цитата Сообщение от NerdNicky Посмотреть сообщение
проверочная система
Ну значит код неверный. Лично я помочь не могу.
0
0 / 0 / 0
Регистрация: 17.07.2015
Сообщений: 8
31.10.2015, 10:58  [ТС] 7
Цитата Сообщение от Puporev Посмотреть сообщение
Ну значит код неверный. Лично я помочь не могу.
(((печаль
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.10.2015, 10:58
Помогаю со студенческими работами здесь

алгоритм Дейкстры
please

Алгоритм Дейкстры
Помогите доделать алгоритм Дейкстри.Проблема в том что надо сделать так что бы выводило к каждой...

Как применить алгоритм Дейкстры
Задача тут тик вот что я сделал: var N:integer; E:integer; En1,En2:integer; ...

Линейный алгоритм, Алгоритм с ветвлениями, Циклический алгоритм Линейный алгоритм
Линейный алгоритм, Алгоритм с ветвлениями, Циклический алгоритм Линейный алгоритм 1. Объясни, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru