2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Алгоритм Дейкстра на Python
Сообщение29.09.2012, 14:09 


21/06/11
141
Задача
Не сдаётся. Пишет: "Ошибка во время выполнения программы". Думаю, проблема в вводе.

Я - новичок в питоне. Принципиально сдать на нём, т.к тренируюсь.

Мой код:

код: [ скачать ] [ спрятать ]
Используется синтаксис Python
#!/usr/bin/python
# -*- coding: utf8 -*-

import Queue
t = map(int,raw_input().split())
n = t[0]
b = t[1] - 1
e = t[2] - 1
g = []
INF = 10**10
for i in range(n):
  v = map(int,raw_input().split())
  g.append(v)
  v = []
d = [INF for i in range(n)]
d[0] = 0
p = [0 for i in range(n)]
q = Queue.Queue()
q.put(b)
while q.empty() == 0:
  x = q.get()
  for i in range(n):
    if g[x][i] > 0 and d[x] + g[x][i] < d[i]:
      d[i] = d[x] + g[x][i]
      p[i] = x+1
      q.put(i)
w = []
y = e
if(p[y] != 0):
  while y != b:
    w.append(p[y])
    y = p[y]-1
  w.reverse()
  for i in range(len(w)):
    print w[i]
  print e+1
else:
  print -1

 Профиль  
                  
 
 Re: Алгоритм Дейкстра на Python
Сообщение04.10.2012, 16:00 


01/07/08
836
Киев
Я в Python тоже новичок. Первые операторы до цикла for прошел в интерактивном режиме. Попутно выводил промежуточные результаты. Странностей не было. Может вам поможет цитата из електронного учебника
Цитата:
Следует заметить, что есть разница между ‘python file’ и ‘python < file’. В
последнем случае, запросы на ввод, такие как input() и raw_input() будут удовле-
творяться из файла. Так как файл уже будет прочитан, прежде чем программа начнет исполняться, программа немедленно получит EOF. В первом же случае (который Вам обычно и будет нужен), ввод осуществляется из устройства, с которым соединен стандартный ввод интерпретатора Python.

Имхо, для отладки, можно задавать нужные значения не из стандартного ввода а задавать программно. Еще раз повторяю: я в Python тоже новичок. С уважением,

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group