Конференция "FreePascal" » Вопрос жизни и смерти — очень сложная задача [Win32]
 
  • Alex@nder (16.04.05 01:41) [0]
    Помогите, пожалуйста решить слудующую задачу (Pascal, C++) — вопрос жизни и смерти!

    Джин — путешествующий коммерсант. Он ходит от города к городу, продавая и покупая товары. Страна, по какой он ходит состоит из С городов. Начав свой путь из города S, Джин должен сделать T междугородних переходов. Ему разрешено посещать города, в каких он уже был. Свой путь он должен закончить на одном из E городов. Известна прибыль, какую Джин получает, совершив переход из i-того города в j-е. Необходимо вычислить максимальную прибыль, какой он может получить, пройдя весь путь.

    Вход. Первый ряд состоит из 4-х чисел: кол-во городов С (2<=C<=100), номер стартового города S (1<=S<=100), число финальных городов E (1<=E<=100) и кол-во переходов T (1<=T<=1000). Следующие С строк имеют по С чисел. j-е число i-ой строки означает прибыль, которую получить Джин, совершив переход с i-ого города в j-е. Так как Джин не может идти с i-ого города  в i-й, то i-е число i-ой строки равняется 0. Дальше — в одной строке записаны E номеров городов, в которых коммерсант может завершить путь.

    У меня ко-что получалось, но с прокладыванием пути — полный завал :(

    Буду благодарен всем за помощь.
  • DrPass © (16.04.05 18:10) [1]
    Поднимаем конспекты по вычметодам или дискретке и внимательно читаем тему "алгоритм Дейкстры"
 
Конференция "FreePascal" » Вопрос жизни и смерти — очень сложная задача [Win32]
Есть новые Нет новых   [134428   +39][b:0][p:0]