<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "Pomos okolu zadaca rizik :P"]]></title>
		<link>http://mendo.mk/jforum/posts/list/6.page</link>
		<description><![CDATA[Latest messages posted in the topic "Pomos okolu zadaca rizik :P"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Pomos okolu zadaca rizik :P</title>
				<description><![CDATA[ Ako nekoj mozi da mi pomogni da go potsredam kodov . Mi vadi 13/22 . Site so se gresni se Runtime Error (излезен код различен од 0)<br /> link : [url]http://mendo.mk/Task.do?id=618[/url]<br /> kod:<br /> [code]#include &lt;iostream&gt;<br /> #include &lt;vector&gt;<br /> #include &lt;algorithm&gt;<br />  <br /> using namespace std;<br />  <br /> int main()<br /> {<br />     int n,B1,B2,P;<br />     cin&gt;&gt;n&gt;&gt;B1&gt;&gt;B2&gt;&gt;P;<br />     vector &lt;int&gt; kosta(B1);///gradovi na kosta<br />     vector &lt;int&gt; kiril(B2);///gradovi na kiril<br />     for(int i=0;i&lt;B1;i++){<br />         cin&gt;&gt;kosta[i];<br />     }<br />     for(int i=0;i&lt;B2;i++){<br />         cin&gt;&gt;kiril[i];<br />     }<br />     int m;///broj na parovi<br />     cin&gt;&gt;m;<br />     int connected[n][n];///matrica za da go pretstavam grafot na gradovi<br />     for(int i=0;i&lt;n;i++){<br />         for(int j=0;j&lt;n;j++){<br />             connected[i][j]=0;<br />         }<br />     }<br />     for(int i=0;i&lt;m;i++){<br />         int xi,yi;<br />         cin&gt;&gt;xi&gt;&gt;yi;<br />         connected[xi-1][yi-1]=1;<br />         connected[yi-1][xi-1]=1;<br />     }<br />     int rez=0;<br />     for(int i=0;i&lt;kosta.size();i++)<br />     {<br />         if(P==0){<br />             break;<br />         }<br />         for(int j=0;j&lt;n;j++){<br />             if(connected[kosta[i]-1][j]==1 && count(kiril.begin(),kiril.end(),j+1)==0 && count(kosta.begin(),kosta.end(),j+1)==0){<br />                 P--;<br />                 kosta.push_back(j+1);<br />                 rez++;<br />             }<br />         }<br />     }<br />     cout&lt;&lt;rez;<br /> }[/code] :D  :D ]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/476/3136.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/476/3136.page</link>
				<pubDate><![CDATA[Mon, 24 Apr 2017 19:58:11]]> GMT</pubDate>
				<author><![CDATA[ жучко]]></author>
			</item>
			<item>
				<title>Pomos okolu zadaca rizik :P</title>
				<description><![CDATA[ [quote=жучко]Ako nekoj mozi da mi pomogni da go potsredam kodov . Mi vadi 13/22 . Site so se gresni se Runtime Error (излезен код различен од 0)<br /> link : [url]http://mendo.mk/Task.do?id=618[/url] [/quote]<br /> N е голем број, па матрицата што ја правиш (connected) зафаќа многу меморија. Слично, не е ефикасно да правиш count(...) на вектор (kosta, kiril), бидејќи тогаш се изминуваат сите елементи од векторот за да се пресмета бараниот број. Можеш да користиш set (каде барањето дали постои некој елемент или не се изведува во логаритамско време). Некако вака можеш да го подобриш кодот:<br /> <br /> [code]#include &lt;iostream&gt;<br /> #include &lt;vector&gt;<br /> #include &lt;set&gt;<br /> #include &lt;map&gt;<br /> #include &lt;algorithm&gt;<br />    <br /> using namespace std;<br />    <br /> int main()<br /> {<br />     int n,B1,B2,P;<br />     cin&gt;&gt;n&gt;&gt;B1&gt;&gt;B2&gt;&gt;P;<br />     vector &lt;int&gt; kosta(B1);///gradovi na kosta<br />     vector &lt;int&gt; kiril(B2);///gradovi na kiril<br />   <br />     set&lt;int&gt; kirilSet;<br />     set&lt;int&gt; kostaSet;<br />   <br />     for(int i=0;i&lt;B1;i++){<br />         cin&gt;&gt;kosta[i];<br />         kostaSet.insert(kosta[i]);<br />     }<br />     for(int i=0;i&lt;B2;i++){<br />         cin&gt;&gt;kiril[i];<br />         kirilSet.insert(kiril[i]);<br />     }<br />     int m;///broj na parovi<br />     cin&gt;&gt;m;<br />     vector&lt;int&gt; connected[n];<br />      <br />     for(int i=0;i&lt;m;i++){<br />         int xi,yi;<br />         cin&gt;&gt;xi&gt;&gt;yi;<br />  <br />         connected[xi-1].push_back(yi-1);<br />         connected[yi-1].push_back(xi-1);<br />     }<br />  <br />     for(int i=0; i&lt;n; i++){<br />         if (connected[i].size() &gt; 1){<br />             sort(connected[i].begin(), connected[i].end());<br />         }<br />     }<br />  <br />     int rez=0;<br />     for(int i=0;i&lt;kosta.size();i++)<br />     {<br />         if(P==0){<br />             break;<br />         }<br />         for(int j : connected[kosta[i]-1]){<br />             if(kirilSet.count(j+1) == 0 && kostaSet.count(j+1) == 0){<br />                 P--;<br />                 kosta.push_back(j+1);<br />                 kostaSet.insert(j+1);<br />                 rez++;<br />             }<br />         }<br />     }<br />     cout&lt;&lt;rez;<br /> }[/code]<br /> ]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/476/3145.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/476/3145.page</link>
				<pubDate><![CDATA[Sun, 11 Jun 2017 16:56:18]]> GMT</pubDate>
				<author><![CDATA[ MOI]]></author>
			</item>
	</channel>
</rss>