<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "Задача овци олимпијада 2009"]]></title>
		<link>http://mendo.mk/jforum/posts/list/8.page</link>
		<description><![CDATA[Latest messages posted in the topic "Задача овци олимпијада 2009"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Задача овци олимпијада 2009</title>
				<description><![CDATA[ Дали можи да ми помогните со задачава, вади рантајм ерор на повеќето случаи...<br /> еве го кодот, а супер би ми дошол и некој тест пример за да видам кај имам грешка, поминува само на 2 примери<br /> [code]#include &lt;iostream&gt;<br /> <br /> using namespace std;<br /> <br /> int prazni = 0;<br /> int ovci = 0, volci = 0;<br /> char matrica[255][255];<br /> <br /> <br /> void find(int x,int y)<br /> {<br /> 	if((matrica[x+1][y] == '.') || (matrica[x+1][y] == 'o') || (matrica[x+1][y] =='v'))<br /> 	{<br /> 		if(matrica[x+1][y] == 'o')<br /> 		{<br /> 			ovci++;<br /> 		}<br /> 		if(matrica[x+1][y] == 'v')<br /> 		{<br /> 			volci++;<br /> 		}<br /> 		matrica[x+1][y] = '!';<br /> 		prazni--;<br /> 		find(x+1,y);<br /> 	}<br /> 	if((matrica[x-1][y] == '.') || (matrica[x-1][y] == 'o') || (matrica[x-1][y] =='v'))<br /> 	{<br /> 		if(matrica[x-1][y] == 'o')<br /> 		{<br /> 			ovci++;<br /> 		}<br /> 		if(matrica[x-1][y] == 'v')<br /> 		{<br /> 			volci++;<br /> 		}<br /> 		matrica[x-1][y] = '!';<br /> 		prazni--;<br /> 		find(x-1,y);<br /> 	}<br /> 	if((matrica[x][y+1] == '.') || (matrica[x][y+1] == 'o') || (matrica[x][y+1] =='v'))<br /> 	{<br /> 		if(matrica[x][y+1] == 'o')<br /> 		{<br /> 			ovci++;<br /> 		}<br /> 		if(matrica[x][y+1] == 'v')<br /> 		{<br /> 			volci++;<br /> 		}<br /> 		matrica[x][y+1] = '!';<br /> 		prazni--;<br /> 		find(x,y+1);<br /> 	}<br /> 	if((matrica[x][y-1] == '.') || (matrica[x][y-1] == 'o') || (matrica[x][y-1] =='v'))<br /> 	{<br /> 		if(matrica[x][y-1] == 'o')<br /> 		{<br /> 			ovci++;<br /> 		}<br /> 		if(matrica[x][y-1] == 'v')<br /> 		{<br /> 			volci++;<br /> 		}<br /> 		matrica[x][y-1] = '!';<br /> 		prazni--;<br /> 		find(x,y-1);<br /> 	}<br /> 	if((matrica[x][y] == '.') || (matrica[x][y] == 'o') || (matrica[x][y] =='v'))<br /> 	{<br /> 		matrica[x][y] = '!';<br /> 		prazni--;<br /> 	}<br /> }<br /> int main()<br /> {<br /> 	int goleminaA,goleminaB;<br /> 	int i,j,k,tmp;<br /> 	int brojOvci,brojVolci;<br /> 	brojOvci = 0;<br /> 	brojVolci = 0;<br /> 	cin &gt;&gt; goleminaA &gt;&gt; goleminaB;<br /> <br /> 	for(i = 0; i &lt; goleminaA; i++)<br /> 	{<br /> 		for(j = 0; j &lt; goleminaB; j++)<br /> 		{<br /> 			cin &gt;&gt; matrica[i][j];<br /> 			if(matrica[i][j] == '.'||matrica[i][j] == 'o'||matrica[i][j] == 'v')<br /> 				prazni++;<br /> 		}<br /> 	}<br /> <br /> 	for(i = 0; i &lt; goleminaA; i++)<br /> 	{<br /> 		for(j = 0; j &lt; goleminaB; j++)<br /> 		{<br /> 			if(matrica[i][j] == '.')<br /> 			{<br /> 				find(i,j);<br /> 				if(volci &gt;= ovci)<br /> 				{<br /> 					ovci = 0;<br /> 					brojVolci += volci;<br /> 					volci = 0;<br /> 				}<br /> 				else<br /> 				{<br /> 					brojOvci += ovci;<br /> 					ovci = 0;<br /> 					volci = 0;<br /> 				}<br /> 			}<br /> 		}<br /> 	}<br /> <br /> 	cout&lt;&lt;brojOvci&lt;&lt;' '&lt;&lt;brojVolci;<br /> <br /> 	return 0;<br /> }[/code]<br /> матрицата беше помала, ама пак на пола не оди...]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/242/2168.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/242/2168.page</link>
				<pubDate><![CDATA[Tue, 24 Apr 2012 23:05:09]]> GMT</pubDate>
				<author><![CDATA[ mprelevic]]></author>
			</item>
			<item>
				<title>Задача овци олимпијада 2009</title>
				<description><![CDATA[ Ја провери задачата во дебагер?<br /> <br /> Прво, не печатиш нов ред после одговорот, ама тоа не предизвикува runtime error.<br /> <br /> Второ, во find никаде не проверуваш дали излегуваш надвор од границите на матрицата, и тоа 99% е причината за runtime error-от што го добиваш.]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/242/2169.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/242/2169.page</link>
				<pubDate><![CDATA[Wed, 25 Apr 2012 07:33:48]]> GMT</pubDate>
				<author><![CDATA[ obi1kenobi]]></author>
			</item>
			<item>
				<title>Задача овци олимпијада 2009</title>
				<description><![CDATA[ ја решив, и да, то беше еден од проблемите :Д]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/242/2187.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/242/2187.page</link>
				<pubDate><![CDATA[Thu, 26 Apr 2012 13:03:25]]> GMT</pubDate>
				<author><![CDATA[ mprelevic]]></author>
			</item>
			<item>
				<title>Re:Задача овци олимпијада 2009</title>
				<description><![CDATA[ [code]#include &lt;iostream&gt;<br /> #include &lt;queue&gt;<br /> #include &lt;cstring&gt;<br /> #include &lt;vector&gt;<br /> #include &lt;algorithm&gt;<br /> using namespace std;<br /> int R, S;<br /> bool WithinRange(int x, int y)<br /> {<br /> 	if((x&gt;=0 && x&lt;R) && (y&gt;=0 && y&lt;S))<br /> 		return true;<br /> 	return false;<br /> }<br /> int main()<br /> {<br /> 	cin&gt;&gt;R&gt;&gt;S;<br /> 	char MAT[R][S];<br /> 	vector&lt;pair&lt;int, int&gt; &gt; Ovci;<br /> 	vector&lt;pair&lt;int, int&gt; &gt; Volk;<br /> 	for(int i=0;i&lt;R;i++)<br /> 	{<br /> 		for(int j=0;j&lt;S;j++)<br /> 		{<br /> 			cin&gt;&gt;MAT[i][j];<br /> 			if(MAT[i][j]=='o')<br /> 			Ovci.push_back(make_pair(i,j));<br /> 			if(MAT[i][j]=='v')<br /> 			Volk.push_back(make_pair(i,j));<br /> 		}<br /> 	}<br /> 	bool VIS[R][S];<br /> 	memset(VIS,false,sizeof(VIS));<br /> 	int delta_x[]={1,0,-1,0};<br /> 	int delta_y[]={0,1,0,-1};<br /> 	queue&lt;pair&lt;int, int&gt; &gt; q;<br /> 	vector&lt;int&gt; survive_Ovci;<br /> 	vector&lt;int&gt; survive_Volk;<br /> 	int pom_Ovci=0;<br /> 	int pom_Volk=0;<br /> 	for(int i=0;i&lt;Ovci.size();i++)<br /> 	{<br /> 		pair&lt;int,int&gt; at1=Ovci[i];<br /> 		if(VIS[at1.first][at1.second]==false)<br /> 		{<br /> 			q.push(at1);<br /> 			while(!q.empty())<br /> 			{<br /> 				pair&lt;int, int&gt; at=q.front();<br /> 				q.pop();<br /> 				for(int dir=0;dir&lt;4;dir++)<br /> 				{<br /> 					int x=at.first, y=at.second;<br /> 					int next_x=x+delta_x[dir], next_y=y+delta_y[dir];<br /> 					if( WithinRange(next_x, next_y)==true && VIS[next_x][next_y]==false && MAT[next_x][next_y]!='#' )<br /> 					{<br /> 						q.push(make_pair(next_x,next_y));<br /> 						VIS[next_x][next_y]=true;<br /> 						if(MAT[next_x][next_y]=='o')<br /> 						pom_Ovci++;<br /> 						if(MAT[next_x][next_y]=='v')<br /> 						pom_Volk++;<br /> 					}	<br /> 				}<br /> 			}<br /> 		}<br /> 		if(pom_Ovci&gt;pom_Volk)<br /> 		{<br /> 		survive_Ovci.push_back(pom_Ovci);<br /> 		pom_Ovci=0;<br /> 		survive_Volk.push_back(0);<br /> 		pom_Volk=0;<br /> 		}<br /> 		else<br /> 		{<br /> 		survive_Volk.push_back(pom_Volk);<br /> 		pom_Ovci=0;<br /> 		survive_Ovci.push_back(0);<br /> 		pom_Volk=0;<br /> 		}<br /> 		<br /> 	}<br /> 	for(int i=0;i&lt;Volk.size();i++)<br /> 	{<br /> 		pair&lt;int, int&gt; at1=Volk[i];<br /> 		if(VIS[at1.first][at1.second]==false)<br /> 		{<br /> 			q.push(at1);<br /> 			while(!q.empty())<br /> 			{<br /> 				pair&lt;int,int&gt; at=q.front();<br /> 				q.pop();<br /> 					for(int dir=0;dir&lt;4;dir++)<br /> 				{<br /> 					int x=at.first, y=at.second;<br /> 					int next_x=x+delta_x[dir], next_y=y+delta_y[dir];<br /> 					if( WithinRange(next_x, next_y)==true && VIS[next_x][next_y]==false && MAT[next_x][next_y]!='#' )<br /> 					{<br /> 						q.push(make_pair(next_x,next_y));<br /> 						VIS[next_x][next_y]=true;<br /> 						if(MAT[next_x][next_y]=='o')<br /> 						pom_Ovci++;<br /> 						if(MAT[next_x][next_y]=='v')<br /> 						pom_Volk++;<br /> 					}	<br /> 				}<br /> 			}<br /> 		}<br /> 		if(pom_Ovci&gt;pom_Volk)<br /> 		{<br /> 		survive_Ovci.push_back(pom_Ovci);<br /> 		pom_Ovci=0;<br /> 		survive_Volk.push_back(0);<br /> 		pom_Volk=0;<br /> 		}<br /> 		else<br /> 		{<br /> 		survive_Volk.push_back(pom_Volk);<br /> 		pom_Ovci=0;<br /> 		survive_Ovci.push_back(0);<br /> 		pom_Volk=0;<br /> 		}<br /> 		<br /> 	}<br /> 	int survived_O=0;<br /> 	int survived_V=0;<br /> 	int bigger;<br /> 	int diff;<br /> 	if(survive_Ovci.size()&gt;survive_Volk.size())<br /> 	{<br /> 	bigger=survive_Ovci.size();<br /> 	diff=survive_Ovci.size()-survive_Volk.size();<br /> 	}<br /> 	else<br /> 	{<br /> 	bigger=survive_Volk.size();<br /> 	diff=bigger-survive_Ovci.size();<br /> 	}<br /> 	for(int i=0;i&lt;bigger;i++)<br /> 	{<br /> 		survived_O+=survive_Ovci[i];<br /> 		survived_V+=survive_Volk[i];<br /> 	}<br /> 	cout&lt;&lt;survived_O&lt;&lt;" "&lt;&lt;survived_V&lt;&lt;endl;<br /> 	return 0;<br /> }[/code]<br /> Ако може малку помош ми работи на 7 тест случаеви од можни десет, незнам каде му е грешката , помош!!!<br /> ]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/242/3652.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/242/3652.page</link>
				<pubDate><![CDATA[Thu, 10 Jan 2019 12:52:28]]> GMT</pubDate>
				<author><![CDATA[ MODDI]]></author>
			</item>
			<item>
				<title>Re:Задача овци олимпијада 2009</title>
				<description><![CDATA[ [quote=MODDI]Ако може малку помош ми работи на 7 тест случаеви од можни десет, незнам каде му е грешката , помош!!![/quote]<br /> Кај првата овца/волк, кога почнуваш со BFS-то.<br /> <br /> Додади кај првото BFS (одма после q.push(at1)) само<br /> [code]            pom_Ovci++;<br />             VIS[at1.first][at1.second] = true;[/code]<br /> <br /> и кај второто BFS (одма после q.push(at1)) само<br /> [code]            pom_Volk++;<br />             VIS[at1.first][at1.second] = true;[/code]<br /> <br /> ]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/242/3653.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/242/3653.page</link>
				<pubDate><![CDATA[Thu, 10 Jan 2019 18:28:04]]> GMT</pubDate>
				<author><![CDATA[ petarsor]]></author>
			</item>
	</channel>
</rss>