<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=3775379</guid>
        <pubDate>Mon, 30 Jul 2018 14:52:33 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=3775379</link>
        <description><![CDATA[Infl1ght: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=211528&view=findpost&p=1781370'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Мавроди &#064; <time class="tag-quote__quoted-time" datetime="2007-11-28T07:22:58+03:00">28.11.07, 04:22</time></span><div class='quote '>Алгоритм Дейкстры не подойдёт (</div></div><br>
Алгоритм Дейкстры, действительно, не применим без дополнительных модификаций. Выложил очень простое решение с помощью метода динамического программирования:<br>
<a class='tag-url' href='https://gist.github.com/Infl1ght/54960c499e24e17f4cf1db9c6f11b8ec' target='_blank'>https://gist.github.com/Infl1ght/54960c499e...cf1db9c6f11b8ec</a>]]></description>
        <author>Infl1ght</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1781370</guid>
        <pubDate>Wed, 28 Nov 2007 04:22:58 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1781370</link>
        <description><![CDATA[Мавроди: Алгоритм Дейкстры не подойдёт (]]></description>
        <author>Мавроди</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777560</guid>
        <pubDate>Sat, 24 Nov 2007 17:50:36 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777560</link>
        <description><![CDATA[_Spy_: Хм...<br>Так возможно ли изменить вышенаписанный код так, чтобы максимальные пути искались, и искались правильно?<br><br>Или надо применять вообще какой-то другой алгоритм ?]]></description>
        <author>_Spy_</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777553</guid>
        <pubDate>Sat, 24 Nov 2007 17:40:06 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777553</link>
        <description><![CDATA[ArdI: а, да, прошу прощения. ну это элементарно.  Алгоритм дейстры работает правильно почему? Потому что соблюдается свойство подстуктуры. Т.е. если я на первом шаре выбираю минимальный путь из источника в какуюнить вершину, то я могу эту вершину после этого шага смело зачеркивать. Так вот дело в том, что для определенных максимальных путей это неверно, поэтому я не понимаю, что щас пытается мистер mo3r скаЗать.]]></description>
        <author>ArdI</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777550</guid>
        <pubDate>Sat, 24 Nov 2007 17:37:15 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777550</link>
        <description><![CDATA[_Spy_: Вообще-то Вы не дочитали мой пост до конца.<br>Я написАл, что этот код можно изменить для максимального пути, но у меня это не совсем получилось, и я подумал, что, возможно, кто-то поймёт, как это сделать.]]></description>
        <author>_Spy_</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777547</guid>
        <pubDate>Sat, 24 Nov 2007 17:35:07 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777547</link>
        <description><![CDATA[ArdI: мистер Spy, ну вы совсем не в ту оперу, у нас тут речь идёт о Длинном пусти, а не о коротком.]]></description>
        <author>ArdI</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777543</guid>
        <pubDate>Sat, 24 Nov 2007 17:26:18 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777543</link>
        <description><![CDATA[_Spy_: Вот кусок кода поиска минимального пути в графе по алгоритму Дейкстры на С:<br>
#include &lt;stdio.h&gt;<br>
#include &lt;stdlib.h&gt;<br>
#include &lt;malloc.h&gt;<br>
<br>
#define TOPS 4<br>
<br>
<br>
int main(int argc, char* argv[])<br>
{<br>
<br>
	<br>
<br>
   int infinity=10000;						<br>
   int p = TOPS;							 <br>
   int** a = LoadDataFromFile(&quot;data1.txt&quot;);<br>
<br>
 <br>
   int s = 1;      		<br>
   int g = 3;<br>
<br>
    int x[TOPS]; //Массив, содержащий единицы и нули для каждой вершины,<br>
                  // x[i]=0 - еще не найден кратчайший путь в i-ю вершину,<br>
                  // x[i]=1 - кратчайший путь в i-ю вершину уже найден<br>
   int t[TOPS];  //t[i] - длина кратчайшего пути от вершины s в i<br>
   int h[TOPS];  //h[i] - вершина, предшествующая i-й вершине<br>
   		         // на кратчайшем пути<br>
<br>
   // Инициализируем начальные значения массивов<br>
   int u;		    // Счетчик вершин<br>
   for (u=0;u&lt;p;u++)<br>
   {<br>
      t[u]=infinity; //Сначала все кратчайшие пути из s в i <br>
	//равны бесконечности<br>
      x[u]=0;        // и нет кратчайшего пути ни для одной вершины<br>
   }<br>
   h[s]=0; // s - начало пути, поэтому этой вершине ничего не предшествует<br>
   t[s]=0; // Кратчайший путь из s в s равен 0<br>
   x[s]=1; // Для вершины s найден кратчайший путь<br>
   v=s;    // Делаем s текущей вершиной<br>
   <br>
   while(1)<br>
   {<br>
      // Перебираем все вершины, смежные v, и ищем для них кратчайший путь<br>
      for(u=0;u&lt;p;u++)<br>
      {<br>
         if(a[v][u]==0)continue; // Вершины u и v несмежные<br>
         if(x[u]==0 &amp;&amp; t[u]&gt;t[v]+a[v][u]) //Если для вершины u еще не <br>
	//найден кратчайший путь<br>
            	// и новый путь в u короче чем <br>
	//старый, то<br>
         {<br>
            t[u]=t[v]+a[v][u];	//запоминаем более короткую длину пути в<br>
	//массив t и<br>
            h[u]=v;	//запоминаем, что v-&gt;u часть кратчайшего <br>
	//пути из s-&gt;u<br>
         }<br>
		 printf(&quot;%d&#092;n&quot;,t[u]);<br>
      }<br>
<br>
      // Ищем из всех длин некратчайших путей самый короткий<br>
      int w=infinity;  // Для поиска самого короткого пути<br>
      v=-1;            // В конце поиска v - вершина, в которую будет <br>
                       // найден новый кратчайший путь. Она станет <br>
                       // текущей вершиной<br>
      for(u=0;u&lt;p;u++) // Перебираем все вершины.<br>
      {<br>
         if(x[u]==0 &amp;&amp; t[u]&lt;w) // Если для вершины u не найден кратчайший <br>
                               // путь и если длина пути в вершину u меньше<br>
                               // уже найденной, то<br>
         {<br>
            v=u; // текущей вершиной становится u-я вершина<br>
            w=t[u];<br>
         }<br>
      }<br>
<br>
      if(v==-1)<br>
      {<br>
		  printf(&quot;No ways&quot;);<br>
         break;<br>
      }<br>
      if(v==g) // Найден кратчайший путь,<br>
      {        // выводим его<br>
			printf(&quot;Min way = &quot;);<br>
   	   u=g;<br>
   	   while(u&#33;=s)<br>
         {<br>
            printf(&quot;%d&lt;-&quot;,u);<br>
            u=h[u];<br>
         }<br>
         printf(&quot;%d&#092;n&quot;,s);<br>
		 printf(&quot;%d&quot;,t[g]);<br>
   	   break;<br>
      }<br>
      x[v]=1;<br>
   }<br>
	free(a);<br>
	return 0;<br>
}<br>
<br>
<br>
Здесь из файла загружается матрица смежности.<br>
Я думал, что максимальный путь можно найти, поменяв кое-что в коде, а именно:<br>
<br>
int infinity = 10000 на int infinity = -10000;<br>
<br>
, затем строчку<br>
<br>
 if(x[u]==0 &amp;&amp; t[u]&gt;t[v]+a[v][u]) на  if(x[u]==0 &amp;&amp; t[u]&lt;t[v]+a[v][u])<br>
<br>
и строчку <br>
<br>
      if(x[u]==0 &amp;&amp; t[u]&lt;w) на       if(x[u]==0 &amp;&amp; t[u]&gt;w) .<br>
<br>
<br>
Но это не сработало, программа почти всегда находит максимальные пути неправильно. Возможно, кто-нибудь подскажет, как изменить это код минимального пути на код нахождения максимального?]]></description>
        <author>_Spy_</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777528</guid>
        <pubDate>Sat, 24 Nov 2007 17:11:55 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777528</link>
        <description><![CDATA[ArdI: А что такое максимальный путь ? Можно же несколько типов придумать, я хочу, чтобы вы это и объяснили.]]></description>
        <author>ArdI</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777520</guid>
        <pubDate>Sat, 24 Nov 2007 17:06:51 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777520</link>
        <description><![CDATA[mo3r: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=211528&view=findpost&p=1777501'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ArdI &#064; <time class="tag-quote__quoted-time" datetime="2007-11-24T16:37:12+00:00">24.11.07, 16:37</time></span><div class='quote '>Я как раз и говорю о простом пути, а вы о каком ?</div></div><br>
Те высказывания справедливы для максимального пути.]]></description>
        <author>mo3r</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777501</guid>
        <pubDate>Sat, 24 Nov 2007 16:37:12 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1777501</link>
        <description><![CDATA[ArdI: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=211528&view=findpost&p=1775414'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>mo3r &#064; <time class="tag-quote__quoted-time" datetime="2007-11-22T19:59:15+00:00">22.11.07, 19:59</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=211528&view=findpost&p=1775168'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ArdI &#064; <time class="tag-quote__quoted-time" datetime="2007-11-22T15:54:31+00:00">22.11.07, 15:54</time></span><div class='quote '>Никакой Дейкстра и Флойд Варшал тут не помогат, это известная NP задача.</div></div><br>
Да неужели? Алгоритмом Флойда-Уоршелла спокойно ищется максимальный путь или факт его отсутствия (только надо добавить еще одну итерацию для проверки недостижимости), а алгоритмом Дейкстры можно спокойно найти максимальный путь при условии его существования.<br>
<br>
А вот максимальный <em class='tag-i'>простой</em> путь — это совсем другая задача. И имеет мало общего с тем, о чем было спрошено.</div></div><br>
Я как раз и говорю о простом пути, а вы о каком ?]]></description>
        <author>ArdI</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1775436</guid>
        <pubDate>Thu, 22 Nov 2007 20:28:09 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1775436</link>
        <description><![CDATA[Мавроди: Точно...нужно найти максимальный простой путь...]]></description>
        <author>Мавроди</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1775414</guid>
        <pubDate>Thu, 22 Nov 2007 19:59:15 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1775414</link>
        <description><![CDATA[mo3r: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=211528&view=findpost&p=1775168'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ArdI &#064; <time class="tag-quote__quoted-time" datetime="2007-11-22T15:54:31+00:00">22.11.07, 15:54</time></span><div class='quote '>Никакой Дейкстра и Флойд Варшал тут не помогат, это известная NP задача.</div></div><br>
Да неужели? Алгоритмом Флойда-Уоршелла спокойно ищется максимальный путь или факт его отсутствия (только надо добавить еще одну итерацию для проверки недостижимости), а алгоритмом Дейкстры можно спокойно найти максимальный путь при условии его существования.<br>
<br>
А вот максимальный <em class='tag-i'>простой</em> путь — это совсем другая задача. И имеет мало общего с тем, о чем было спрошено.]]></description>
        <author>mo3r</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1775168</guid>
        <pubDate>Thu, 22 Nov 2007 15:54:31 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1775168</link>
        <description><![CDATA[ArdI: Никакой Дейкстра и Флойд Варшал тут не помогат, это известная NP задача. не обязательно гамильтонов цикл.]]></description>
        <author>ArdI</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1773938</guid>
        <pubDate>Thu, 22 Nov 2007 04:49:40 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1773938</link>
        <description><![CDATA[Pavlovsky: попробуй поиск по ключевой фразе &quot;гамильтонов путь (цикл)&quot;.<br>например http://www.intuit.ru/department/algorithms/gaa/8/gaa_8.html (Алгоритм 2. Поиск гамильтоновых циклов)]]></description>
        <author>Pavlovsky</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1773935</guid>
        <pubDate>Thu, 22 Nov 2007 04:21:32 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1773935</link>
        <description><![CDATA[mo3r: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=211528&view=findpost&p=1773624'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>esperanto &#064; <time class="tag-quote__quoted-time" datetime="2007-11-21T19:31:09+00:00">21.11.07, 19:31</time></span><div class='quote '>чушь с позволения сказать</div></div><br>
? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2007-11-22T04:22:54+00:00">22.11.07, 04:22</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=211528&view=findpost&p=1773624'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>esperanto &#064; <time class="tag-quote__quoted-time" datetime="2007-11-21T19:31:09+00:00">21.11.07, 19:31</time></span><div class='quote '>чушь с позволения сказать</div></div><br>
Да, точно.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=211528&view=findpost&p=1773611'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>mo3r &#064; <time class="tag-quote__quoted-time" datetime="2007-11-21T19:20:43+00:00">21.11.07, 19:20</time></span><div class='quote '>без циклов отрицательного веса</div></div><br>
Должно быть без циклов <em class='tag-i'>положительного</em> веса.]]></description>
        <author>mo3r</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1773624</guid>
        <pubDate>Wed, 21 Nov 2007 19:31:09 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1773624</link>
        <description><![CDATA[esperanto: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=211528&view=findpost&p=1773611'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>mo3r &#064; <time class="tag-quote__quoted-time" datetime="2007-11-21T19:20:43+00:00">21.11.07, 19:20</time></span><div class='quote '>Можно использовать алгоритм Дейкстры или Флойда-Уоршелла, поменяв там знак у условия: меньше на больше. Только надо отметить, что в неориентированных графах максимального пути не существует, а существует только в ориентированных графах без циклов отрицательного веса.</div></div><br>
чушь с позволения сказать]]></description>
        <author>esperanto</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1773611</guid>
        <pubDate>Wed, 21 Nov 2007 19:20:43 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1773611</link>
        <description><![CDATA[mo3r: Можно использовать алгоритм Дейкстры или Флойда-Уоршелла, поменяв там знак у условия: меньше на больше. Только надо отметить, что в неориентированных графах максимального пути не существует, а существует только в ориентированных графах без циклов отрицательного веса.]]></description>
        <author>mo3r</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1773525</guid>
        <pubDate>Wed, 21 Nov 2007 17:52:29 +0000</pubDate>
        <title>Максимальный путь в графе</title>
        <link>https://forum.sources.ru/index.php?showtopic=211528&amp;view=findpost&amp;p=1773525</link>
        <description><![CDATA[Мавроди: Помогите ребят, горю. Весь нет обыскал - ничего не нашёл(]]></description>
        <author>Мавроди</author>
        <category>Алгоритмы</category>
      </item>
	
      </channel>
      </rss>
	