<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "Dijkstra"]]></title>
		<link>http://mendo.mk/jforum/posts/list/12.page</link>
		<description><![CDATA[Latest messages posted in the topic "Dijkstra"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Dijkstra</title>
				<description><![CDATA[ Zdravo. Probuvam da iskucam dijkstra samo so priority_queue, bez koristenje niza dist[]. Kodot ne mi pecati nisto. Kje moze da mi se objasni kade mi e greskata?<br /> [code]#include &lt;bits/stdc++.h&gt;<br /> <br /> using namespace std;<br /> <br /> const int MAX= 1e5+10;<br /> const int INF=(1&lt;&lt;30);<br /> int N,M;<br /> int START,END;<br /> bool vis[MAX];<br /> vector&lt;pair&lt;int,int&gt; &gt; graph[MAX];<br /> struct node{<br />     int idx;<br />     int cost;<br />     node(){}<br />     node(int _idx, int _cost)<br />     {<br />         idx=_idx;<br />         cost=_cost;<br />     }<br /> <br />     bool operator &lt; (const node &TMP) const{<br />         return cost &gt; TMP.cost;<br /> <br />     }<br /> <br /> };<br /> <br /> void dijkstra()<br /> {<br />     memset(vis,false,sizeof(vis));<br />     priority_queue&lt;node&gt; q;<br />     q.push(node(START,0));<br />     while(!q.empty())<br />     {<br />         node curr=q.top();<br />         q.pop();<br />         if(vis[curr.idx]==false)<br />         {<br />             continue;<br />         }<br />         if(curr.idx==END)<br />         {<br />             cout&lt;&lt;curr.cost&lt;&lt;endl;<br />         }<br />         vis[curr.idx]=true;<br />         for(int i=0; i&lt;(int)graph[i].size(); i++)<br />         {<br />             int sosed=graph[curr.idx][i].first;<br />             int val=graph[curr.idx][i].second;<br />             if(!vis[sosed]&& curr.cost &gt; curr.cost + val)<br />             {<br />                 q.push(node(sosed,curr.cost + val));<br />             }<br /> <br />             <br />         }<br />     }<br />     <br />     <br /> <br /> }<br /> <br /> <br /> int main()<br /> {<br />     cin&gt;&gt;N&gt;&gt;M;<br />     for(int i=0; i&lt;M; i++)<br />     {<br />         int a,b,c;<br />         cin&gt;&gt;a&gt;&gt;b&gt;&gt;c;<br />         a--;<br />         b--;<br />         graph[a].push_back(make_pair(b,c));<br />         graph[b].push_back(make_pair(a,c));<br />     }<br />     cin&gt;&gt;START&gt;&gt;END;<br />     START--;<br />     END--;<br />     dijkstra();<br />     return 0;<br /> }[/code]<br /> ]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/652/3584.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/652/3584.page</link>
				<pubDate><![CDATA[Sat, 17 Nov 2018 22:34:32]]> GMT</pubDate>
				<author><![CDATA[ BATIR]]></author>
			</item>
			<item>
				<title>Dijkstra</title>
				<description><![CDATA[ [quote=BATIR]Zdravo. Probuvam da iskucam dijkstra samo so priority_queue, bez koristenje niza dist[]. Kodot ne mi pecati nisto. Kje moze da mi se objasni kade mi e greskata?[/quote]<br /> Ако нешто не работи како што треба, можеш да пробаш со debug-ирање (види во IDE-то кое го користиш), а можеш и да пробаш да додадеш неколку наредби за печатење за да си ја најдеш грешката. Ќе ти користи и за време на натпревар.<br /> <br /> Треба да смениш повеќе работи иначе, еве некои<br /> <br /> Тука веројатно мислиш true наместо false.<br /> [code]if(vis[curr.idx]==false)  <br /> {  <br />        continue;  <br /> }[/code]<br /> <br /> Тука не мислиш graph[i].size() него веројатно graph[curr.idx].size()<br /> [code]for(int i=0; i&lt;(int)graph[i].size(); i++)  [/code]<br /> <br /> Тука тргни го вториот услов (по &&)<br /> [code]if(!vis[sosed] && curr.cost &gt; curr.cost + val) [/code]<br /> ]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/652/3588.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/652/3588.page</link>
				<pubDate><![CDATA[Mon, 19 Nov 2018 14:08:52]]> GMT</pubDate>
				<author><![CDATA[ petarsor]]></author>
			</item>
			<item>
				<title>Re:Dijkstra</title>
				<description><![CDATA[ A kako bi bilo ako namesto priority_queue koristam obicen queue?]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/652/3591.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/652/3591.page</link>
				<pubDate><![CDATA[Mon, 19 Nov 2018 21:42:38]]> GMT</pubDate>
				<author><![CDATA[ BATIR]]></author>
			</item>
			<item>
				<title>Re:Dijkstra</title>
				<description><![CDATA[ [quote=BATIR]A kako bi bilo ako namesto priority_queue koristam obicen queue?[/quote]<br /> Што сакаш да постигнеш со тоа, за да може да ти одговориме? Не работи така алгоритамот Dijkstra, и (на тој начин) не можеш да ја постигнеш истата сложеност.<br /> ]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/652/3592.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/652/3592.page</link>
				<pubDate><![CDATA[Tue, 20 Nov 2018 15:40:58]]> GMT</pubDate>
				<author><![CDATA[ petarsor]]></author>
			</item>
			<item>
				<title>Dijkstra</title>
				<description><![CDATA[ Epa nemam konkreten odgovor, samo sakav da znam kako bi bil kodot so obicno queue. ]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/652/3593.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/652/3593.page</link>
				<pubDate><![CDATA[Tue, 20 Nov 2018 15:45:22]]> GMT</pubDate>
				<author><![CDATA[ BATIR]]></author>
			</item>
	</channel>
</rss>