<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem ilocamp</title>
<link>https://forum.pasja-informatyki.pl/tag/ilocamp</link>
<description>Powered by Question2Answer</description>
<item>
<title>Zadanie Wycinek błąd w kodzie</title>
<link>https://forum.pasja-informatyki.pl/595710/zadanie-wycinek-blad-w-kodzie</link>
<description>

&lt;p&gt;Link do treści&amp;nbsp;zadania: &lt;a href=&quot;https://szkopul.edu.pl/problemset/problem/pAy3KzzMQ8Gh-LFsyL0tZts6/site/?key=statement&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://szkopul.edu.pl/problemset/problem/pAy3KzzMQ8Gh-LFsyL0tZts6/site/?key=statement&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Cześć, rozwiązuje zadanie Wycinek. Moim rozwiązaniem jest najpierw liczenie sum prefiksowych, potem zapisywanie kandydatów (liczb, które prefi[i]+s in prefi), a na końcu wybieram największa rożnice elementów prefi[i]+s - prefi[i].&amp;nbsp;Niestety nie mogę&amp;nbsp;wyłapać 2 błedów:&lt;/p&gt;



&lt;p&gt;Pierwszy&amp;nbsp;błąd polega na tym, że zamiast wypisywać BRAK, wypisuje mi liczbe całkowitą. Drugi błąd jest taki, że wynik jest większy niż powinien być.&amp;nbsp;Podejrzewam,&amp;nbsp; że chodzi o coś z sumami prefiksowymi.&lt;/p&gt;



&lt;p&gt;Mój kod w pythonie:&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
n, s = map(int, input().split())
ciag = list(map(int, input().split()))
sum_pref = [0]
odp = 0
kandydaci = dict()
# liczenie sum prefiksowych
for i in range(n):
    sum_pref += [sum_pref[-1]+ciag[i]]

a = set(sum_pref) #Tworze seta, żeby było stałe wyszukiwanie sum_pref[i]+s w sumach pref.

# dodawanie kandydatów
for i in range(n):
    if sum_pref[i]+s in a:
        if sum_pref[i] not in kandydaci:
            kandydaci[sum_pref[i]] = i

# Szukanie najwiekszej róznicy sum_pref[i]-s - sum_pref[i]
odp = 0
for i in range(1, n+1):
    if sum_pref[i]-s in kandydaci:
        odp = max(odp, abs(i-kandydaci[sum_pref[i]-s]))

# Jeżeli odpowiedz jest rowna 0, to oznacza to, że nie ma żadnego takiego podciagu
if odp == 0:
    print('BRAK')
else:
    print(odp)&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/595710/zadanie-wycinek-blad-w-kodzie</guid>
<pubDate>Fri, 30 Aug 2024 15:16:16 +0000</pubDate>
</item>
<item>
<title>Zadanie Sadzenie Bulw - IV ILOCAMP 2011</title>
<link>https://forum.pasja-informatyki.pl/588947/zadanie-sadzenie-bulw-iv-ilocamp-2011</link>
<description>

&lt;p&gt;Sadzenie bulw&lt;/p&gt;



&lt;p&gt;Limit pamięci: 32 MB&lt;/p&gt;



&lt;p&gt;Farmer Bulwęsadź musi obsadzić swoje pola bulwami.&lt;/p&gt;



&lt;p&gt;Każde pole ma określoną bulwonasyconość wyrażającą się liczbą całkowitą&amp;nbsp;&lt;img alt=&quot;image&quot; src=&quot;https://szkopul.edu.pl/problemset/problem/etq9wv3LqkC001rt-iedQSVQ/site/images/ILOCAMP11/bul-tex.1.png&quot;&gt;. Jeżeli zasadzi się na tym polu&amp;nbsp;&lt;img alt=&quot;image&quot; src=&quot;https://szkopul.edu.pl/problemset/problem/etq9wv3LqkC001rt-iedQSVQ/site/images/ILOCAMP11/bul-tex.2.png&quot;&gt;&amp;nbsp;bulw, gdzie&amp;nbsp;&lt;img alt=&quot;image&quot; src=&quot;https://szkopul.edu.pl/problemset/problem/etq9wv3LqkC001rt-iedQSVQ/site/images/ILOCAMP11/bul-tex.3.png&quot;&gt;, to plon wyniesie&amp;nbsp;&lt;img alt=&quot;image&quot; src=&quot;https://szkopul.edu.pl/problemset/problem/etq9wv3LqkC001rt-iedQSVQ/site/images/ILOCAMP11/bul-tex.4.png&quot;&gt;. Jeżeli zasadzi się na tym polu więcej niż&amp;nbsp;&lt;img alt=&quot;image&quot; src=&quot;https://szkopul.edu.pl/problemset/problem/etq9wv3LqkC001rt-iedQSVQ/site/images/ILOCAMP11/bul-tex.5.png&quot;&gt;&amp;nbsp;bulw, to plonu nie będzie ze względu na wzajemne zagłuszanie.&lt;/p&gt;



&lt;p&gt;Farmer nie za dobrze radzi sobie z matematyką, a ma ograniczony zasób bulw. Powiedz mu, jak ma zasadzić swoje bulwy, żeby osiągnąć maksymalny plon. Zakładamy, że farmer nie musi zasadzać wszystkich bulw.&lt;/p&gt;



&lt;p&gt;Wejście&lt;/p&gt;



&lt;p&gt;Pierwszy wiersz wejścia zawiera jedną liczbę całkowitą&amp;nbsp;&lt;img alt=&quot;image&quot; src=&quot;https://szkopul.edu.pl/problemset/problem/etq9wv3LqkC001rt-iedQSVQ/site/images/ILOCAMP11/bul-tex.6.png&quot;&gt;&amp;nbsp;(&lt;img alt=&quot;image&quot; src=&quot;https://szkopul.edu.pl/problemset/problem/etq9wv3LqkC001rt-iedQSVQ/site/images/ILOCAMP11/bul-tex.7.png&quot;&gt;), oznaczającą liczbę pól Bulwęsadzia.&lt;/p&gt;



&lt;p&gt;Następny wiersz zawiera&amp;nbsp;&lt;img alt=&quot;image&quot; src=&quot;https://szkopul.edu.pl/problemset/problem/etq9wv3LqkC001rt-iedQSVQ/site/images/ILOCAMP11/bul-tex.8.png&quot;&gt;&amp;nbsp;liczb całkowitych&amp;nbsp;&lt;img alt=&quot;image&quot; src=&quot;https://szkopul.edu.pl/problemset/problem/etq9wv3LqkC001rt-iedQSVQ/site/images/ILOCAMP11/bul-tex.9.png&quot;&gt;&amp;nbsp;(&lt;img alt=&quot;image&quot; src=&quot;https://szkopul.edu.pl/problemset/problem/etq9wv3LqkC001rt-iedQSVQ/site/images/ILOCAMP11/bul-tex.10.png&quot;&gt;), gdzie&amp;nbsp;&lt;img alt=&quot;image&quot; src=&quot;https://szkopul.edu.pl/problemset/problem/etq9wv3LqkC001rt-iedQSVQ/site/images/ILOCAMP11/bul-tex.11.png&quot;&gt;&amp;nbsp;oznacza bulwonasyconość&amp;nbsp;&lt;img alt=&quot;image&quot; src=&quot;https://szkopul.edu.pl/problemset/problem/etq9wv3LqkC001rt-iedQSVQ/site/images/ILOCAMP11/bul-tex.12.png&quot;&gt;-tego pola. Ostatni wiersz zawiera jedną liczbę całkowitą&amp;nbsp;&lt;img alt=&quot;image&quot; src=&quot;https://szkopul.edu.pl/problemset/problem/etq9wv3LqkC001rt-iedQSVQ/site/images/ILOCAMP11/bul-tex.13.png&quot;&gt;&amp;nbsp;(&lt;img alt=&quot;image&quot; src=&quot;https://szkopul.edu.pl/problemset/problem/etq9wv3LqkC001rt-iedQSVQ/site/images/ILOCAMP11/bul-tex.14.png&quot;&gt;), oznaczającą liczbę bulw, które posiada Bulwęsadź.&lt;/p&gt;



&lt;p&gt;Wyjście&lt;/p&gt;



&lt;p&gt;W jedynym wierszu wyjścia powinna znaleźć się jedna liczba całkowita, oznaczająca maksymalny łączny plon Bulwysadzia.&lt;/p&gt;



&lt;p&gt;Przykład&lt;/p&gt;



&lt;p&gt;Dla danych wejściowych:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
1
9
3
&lt;/pre&gt;



&lt;p&gt;poprawną odpowiedzią jest:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
9&lt;/pre&gt;



&lt;p&gt;jak się zabrać za to zadanko? co tutaj muszę zrobić? jakiś pomysł?&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/588947/zadanie-sadzenie-bulw-iv-ilocamp-2011</guid>
<pubDate>Tue, 24 Oct 2023 20:30:01 +0000</pubDate>
</item>
<item>
<title>Zadanie podciągi arytmetyczne - obóz naukowy ilocamp</title>
<link>https://forum.pasja-informatyki.pl/580600/zadanie-podciagi-arytmetyczne-oboz-naukowy-ilocamp</link>
<description>

&lt;p&gt;Mam problem z takim zadaniem:&amp;nbsp;&lt;a href=&quot;https://szkopul.edu.pl/problemset/problem/o58fvuJW4HyYGvadjH-w0_jN/site/?key=statement&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://szkopul.edu.pl/problemset/problem/o58fvuJW4HyYGvadjH-w0_jN/site/?key=statement&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Napisałem bruta O(N^2), na 55pkt, że idę pętlą for od 0, do n-1, i zakładam, że ten element jest środkowy(j), i dla każdego elementu środkowego, idę 2 pętlą for, po idx-ach j+1, j+2, j+3... i zakładam, że on jest tym prawym, a ten lewy wyszukuję z statystyk, (znaczę, sobie wcześniej jakie odwiedziłem), przekształcając:&lt;/p&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
A_j - A_i = A_k - A_j =&amp;gt; A_i = 2*A_j - A_k&lt;/pre&gt;



&lt;p&gt;Gdzie A_i, to element lewy, A_j to element środkowy, A_k to element prawy.&lt;/p&gt;



&lt;p&gt;Kod:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;vector&amp;gt;

using namespace std;

int n = 0, wczytana_liczba = 0, wyn = 0;
vector&amp;lt;int&amp;gt; liczby;
int stat[200005] = {0};

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    cin &amp;gt;&amp;gt; n;
    
    for (int i = 0; i &amp;lt; n; ++i)
    {
        cin &amp;gt;&amp;gt; wczytana_liczba;
        liczby.push_back(wczytana_liczba);
    }

    for (int j = 0; j &amp;lt; n; ++j)
    {
        for (int k = j+1; k &amp;lt; n; ++k)
            if (2 * liczby[j] - liczby[k] &amp;gt; 0)
                if (stat[2 * liczby[j] - liczby[k]] == 1)
                    wyn++;
        stat[liczby[j]]++;
    }

    cout &amp;lt;&amp;lt; wyn &amp;lt;&amp;lt; '\n';

    return 0;
}&lt;/pre&gt;



&lt;p&gt;Tylko to jest zawolne. Podejrzewam, że trzeba użyć jakiegoś drzewa przedziałowego lub czegoś takiego, ale nie mam pomysłu jak. Ma ktoś pomysł?&lt;/p&gt;



&lt;p&gt;Z góry dziekuję za pomoc i poświęcony czas!&lt;/p&gt;</description>
<category>Algorytmy</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/580600/zadanie-podciagi-arytmetyczne-oboz-naukowy-ilocamp</guid>
<pubDate>Mon, 20 Feb 2023 14:52:58 +0000</pubDate>
</item>
<item>
<title>Zadanie Grzybki ILOCAMP</title>
<link>https://forum.pasja-informatyki.pl/579929/zadanie-grzybki-ilocamp</link>
<description>

&lt;p&gt;Siema, pomoze ktos z kodem?&lt;/p&gt;



&lt;p&gt;Najprawdopodobniej robie jakims dziwnym sposobem dla Was i mam prosbe o ewentualne nakierowanie.&lt;/p&gt;



&lt;p&gt;zadanie:&amp;nbsp;&lt;a href=&quot;https://szkopul.edu.pl/problemset/problem/UDIADIj0TZR7zMUXeF6XlM1T/site/?key=statement&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://szkopul.edu.pl/problemset/problem/UDIADIj0TZR7zMUXeF6XlM1T/site/?key=statement&lt;/a&gt;&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;bits/stdc++.h&amp;gt;

using namespace std;

struct Grzyb {
	int mas, del, dni;
	// mas - masa grzyba, del - przyrost, dni - ilosc dni zycia
};

Grzyb arr[1000001];
unordered_map &amp;lt;int, pair &amp;lt;long long, int&amp;gt;&amp;gt; m;

int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	int n;
	cin &amp;gt;&amp;gt; n;

	int maxDz = 0, dz = 1;
	// dz - wynik (optymalny dzien)

	long long sum = 0, su = 0, prz = 0;
	// sum - zmienna pomocnicza

	for (int i = 1; i &amp;lt;= n; i ++) {
		cin &amp;gt;&amp;gt; arr[i].mas &amp;gt;&amp;gt; arr[i].del &amp;gt;&amp;gt; arr[i].dni;
		// wczytanie danych

		su += arr[i].mas;
		// suma grzybow w dniu 0.

		maxDz = max(maxDz, arr[i].dni);
		// jaki jest max dzien do sprawdzenia w symulacji

		m[arr[i].dni].first += (arr[i].dni - 1) * arr[i].del + arr[i].mas;
		// suma (mas poczatkowych oraz doladowywanych
		// z dnia na dzien), ktore umieraja w dniu arr[i].dni (*)

		m[arr[i].dni].second += arr[i].del;
		// suma mas grzybow, ktore umieraja w dniu arr[i].dni (**)

		prz += arr[i].del;
		// przyrost z dnia na dzien
	}

	for (int i = 1; i &amp;lt;= maxDz; i ++) {
		su += prz;
		// za kazdym razem dodaje przyrost

		if (m.find(i) != m.end())
			su -= m[i].first + m[i].second, prz -= m[i].second;
			// jezeli jakas ryba/ryby umiera w dniu i, to od su odejmuje
			// (*) oraz (**), jednoczesnie aktualizujac przyrost

		if (su &amp;gt; sum)
			sum = su, dz = i;
			//sprawdzam, czy aktualna suma nie jest najlepsza i aktualizuje sume i dzien
	}

	cout &amp;lt;&amp;lt; dz;// &amp;lt;&amp;lt; ' ' &amp;lt;&amp;lt; sum;
}&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/579929/zadanie-grzybki-ilocamp</guid>
<pubDate>Sun, 12 Feb 2023 19:58:55 +0000</pubDate>
</item>
<item>
<title>Zadanie Pasy Ruchu ILOCAMP</title>
<link>https://forum.pasja-informatyki.pl/579294/zadanie-pasy-ruchu-ilocamp</link>
<description>

&lt;p&gt;Zadanie &lt;a href=&quot;https://szkopul.edu.pl/problemset/problem/UE0q8-SzHWYoYXWowKjr8Vc1/site/?key=statement&quot; rel=&quot;nofollow&quot;&gt;Pasy ruchu&lt;/a&gt;. Na początku miałem 30%, ale zauważyłem, że niepotrzebnie Y * (X * Y)&amp;nbsp;razy zeruję wszystkie wartości tablicy VIS[]. Po poprawce nadal nie mam 100%, gdyż z 30% zrobiło się ich 90. Jeden test nadal się wywala ze względu na czas.
&lt;br&gt;

&lt;br&gt;
przed optymalizacją: &lt;a href=&quot;https://ideone.com/FPi6QR&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://ideone.com/FPi6QR&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;
po: &lt;a href=&quot;https://ideone.com/gkTgf3&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://ideone.com/gkTgf3&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;
Pomoże ktoś?&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/579294/zadanie-pasy-ruchu-ilocamp</guid>
<pubDate>Sun, 05 Feb 2023 10:23:18 +0000</pubDate>
</item>
<item>
<title>Bajtocka Flaga - zadanko algorytmiczne</title>
<link>https://forum.pasja-informatyki.pl/228462/bajtocka-flaga-zadanko-algorytmiczne</link>
<description>

&lt;p&gt;Witajcie!&lt;/p&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;Rozwiązuję zadania z książki &quot;Zaprzyjaźnij się z algorytmami&quot; Jacka Tomasiewicza. Nie potrafię napisać wzorcówki do jednego z nich. W raporcie sprawdzania &lt;a href=&quot;https://main2.edu.pl&quot; rel=&quot;nofollow&quot;&gt;sprawdzarki&lt;/a&gt; pojawia się kilka komunikatów &quot;Zła odpowiedź&quot;&lt;/p&gt;



&lt;blockquote&gt;


&lt;p style=&quot;text-align:center&quot;&gt;Zadanko &quot;Bajtocka Flaga&quot; z VIII Obozu Informatycznego ILOCAMP
&lt;br&gt;
Z książki &quot;Zaprzyjaźnij się z algorytmami&quot; pana Jacka Tomasiewicza
&lt;br&gt;
(strona 42.)&lt;/p&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;&quot;Obecnie bajtocka flaga składa się z n różnokolorowych, poziomych pasów. Bajtocja zdecydowała się na zmianę flagi. Król chciałby, ale flaga składała się z n pasów w dwóch kolorach, A i B, ułożonych naprzemiennie. Wybór kolorów nie jest istotny dla króla. Istotne natomiast jest to, aby przemalowanie flagi było możliwie proste. Pomalowanie jest tym prostsze, im mniej pasów należy przemalować.&lt;/p&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;Wejście
&lt;br&gt;
Pierwszy wiersz wejścia zawiera jedną liczbę całkowitą n (2&amp;lt;=n&amp;lt;=500000) oznaczającą liczbę pasów flagi. W kolejnym wierszu wejścia jest n liczb całkowitych k0, k1, ..., kn-1, (1&amp;lt;=ki&amp;lt;=n), gdzie ki oznacza kolor i-tego pasa flagi.&lt;/p&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;Wyjście
&lt;br&gt;
Pierwszy i jedyny wiersz wyjścia powinien zawierać jedną liczbę całkowitą równą minimalnej liczbie pasów, które należy przemalować, aby flaga składała się tylko z dwóch kolorów i żadne sąsiednie pasy nie były tego samego koloru.&lt;/p&gt;



&lt;p&gt;Przykład
&lt;br&gt;
Dla danych wejściowych:
&lt;br&gt;
6
&lt;br&gt;
1 2 3 1 4 2
&lt;br&gt;
Poprawną odpowiedzią jest:
&lt;br&gt;
3&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;Oto mój kod:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;algorithm&amp;gt;

using namespace std;

int main() {
    int n, k, zgodne{0};
    pair&amp;lt;int, int&amp;gt; a1{0, 0}, a2{0, 0}, b1{0, 0}, b2{0, 0};
    scanf(&quot;%d&quot;, &amp;amp;n);
    int ** kolory = new int * [2];
    kolory[0] = new int[n];
    kolory[1] = new int[n];
    for(int i=0; i&amp;lt;n; i++)
        kolory[0][i]=kolory[1][i]=0;
    for(int i=0; i&amp;lt;n; i++)
    {
        scanf(&quot;%d&quot;, &amp;amp;k);
        kolory[i%2][k-1]++;
    }
    for(int i=0; i&amp;lt;n; i++)
    {
        if(kolory[0][i]&amp;gt;=a1.first)
        {
            a2=a1;
            a1.first=kolory[0][i];
            a1.second=i;
        }
        if(kolory[1][i]&amp;gt;=b1.first)
        {
            b2=b1;
            b1.first=kolory[1][i];
            b1.second=i;
        }
    }
    if(a1.second!=b1.second)
        zgodne=max(zgodne, a1.first+b1.first);
    if(a2.second!=b1.second)
        zgodne=max(zgodne, a2.first+b1.first);
    if(a1.second!=b2.second)
        zgodne=max(zgodne, a1.first+b2.first);
    printf(&quot;%d&quot;, n-zgodne);
    delete [] kolory[0];
    delete [] kolory[1];
    delete [] kolory;
    return 0;
}&lt;/pre&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;Rozwiązanie działa w czasie O(n). Najpierw zliczam występowanie każdego koloru na pozycjach parzystych i nieparzystych. Wybieram po dwa kolory, które występują maksymalną liczbę razy na pozycjach parzystych i nieparzystych. Następnie sprawdzam 3 kombinacje, wybierając optymalną o różnych kolorach.&lt;/p&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;Z góry dziękuję za pomoc w znalezieniu błędu &lt;img alt=&quot;smiley&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/regular_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;smiley&quot;&gt;&lt;/p&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;&amp;nbsp;&lt;/p&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;Contest na main'ie nazywa się &quot;Zaprzyjaźnij się z algorytmami&quot;.&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/228462/bajtocka-flaga-zadanko-algorytmiczne</guid>
<pubDate>Sat, 18 Feb 2017 22:32:33 +0000</pubDate>
</item>
<item>
<title>Programowanie w C- zadanie</title>
<link>https://forum.pasja-informatyki.pl/200100/programowanie-w-c-zadanie</link>
<description>Mam prośbe czy mógłby mi ktoś pomóc jak napisać program który - zliczyczy elementy z przedziału ; a,b,n oraz n elementów double do wczytania z klawiatury? &lt;br /&gt;
z góry dzięki :D</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/200100/programowanie-w-c-zadanie</guid>
<pubDate>Fri, 25 Nov 2016 12:46:14 +0000</pubDate>
</item>
<item>
<title>Jak zrobić zadanie gra ? (c++, programowanie dynamiczne)</title>
<link>https://forum.pasja-informatyki.pl/170219/jak-zrobic-zadanie-gra-c-programowanie-dynamiczne</link>
<description>

&lt;p&gt;Cześć,&lt;/p&gt;



&lt;p&gt;czy moglibyście mi proszę podpowiedzieć jak zrobić takie zadanie?&lt;/p&gt;



&lt;p&gt;&lt;/p&gt;



&lt;p&gt;Limit pamięci: 32 MB&lt;/p&gt;



&lt;p&gt;Kolejny deszczowy dzień. Paweł i Gaweł znów byli zmuszeni do pozostania w domu. W związku z brakiem zajęć postanowili wymyślić jakąś grę.&lt;/p&gt;



&lt;p&gt;Paweł wpadł na genialny pomysł. Na kartce papieru narysował&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.1.png&quot; alt=&quot;image&quot;&gt;&amp;nbsp;pól. Na każdym polu znajdowały się dwie liczby - pierwsza z nich była numerem pola (liczba naturalna od&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.2.png&quot; alt=&quot;image&quot;&gt;&amp;nbsp;do&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.3.png&quot; alt=&quot;image&quot;&gt;, pola miały parami różne numery), a druga jego wartością (liczba całkowita od&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.4.png&quot; alt=&quot;image&quot;&gt;&amp;nbsp;do&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.5.png&quot; alt=&quot;image&quot;&gt;). Na polu numer&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.6.png&quot; alt=&quot;image&quot;&gt;&amp;nbsp;umieścił pionek. Zadaniem gracza było wykonywanie kolejnych ruchów, polegających na rzucie sześcienna kostką (z numerami od&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.7.png&quot; alt=&quot;image&quot;&gt;&amp;nbsp;do&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.8.png&quot; alt=&quot;image&quot;&gt;&amp;nbsp;napisanymi na ściankach) oraz przesuwaniu pionka o wskazaną liczbę oczek. Gra kończyła się, kiedy pionek stanął na pole o numerze&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.9.png&quot; alt=&quot;image&quot;&gt;. Wynikiem, jaki uzyskał gracz, była suma wartości pól na jakich stał pionek.&lt;/p&gt;



&lt;p&gt;Po rozegraniu kilku partii Paweł i Gaweł otrzymali kilka różnych wyników, jednak nie wiedzieli czy któryś z nich był największym możliwym do uzyskania. Zadzwonili więc do Ciebie, utalentowanego informatyka, abyś napisał program, który dla danej planszy obliczy maksymalny możliwy do uzyskania wynik.&lt;/p&gt;



&lt;p&gt;Wejście&lt;/p&gt;



&lt;p&gt;Pierwszy wiersz standardowego wejścia zawiera jedną liczbę całkowitą&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.10.png&quot; alt=&quot;image&quot;&gt;&amp;nbsp;(&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.11.png&quot; alt=&quot;image&quot;&gt;) oznaczającą liczbę pól na planszy. Drugi wiersz zawiera&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.12.png&quot; alt=&quot;image&quot;&gt;&amp;nbsp;liczb całkowitych&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.13.png&quot; alt=&quot;image&quot;&gt;,&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.14.png&quot; alt=&quot;image&quot;&gt;, ...,&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.15.png&quot; alt=&quot;image&quot;&gt;&amp;nbsp;(&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.16.png&quot; alt=&quot;image&quot;&gt;), gdzie&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.17.png&quot; alt=&quot;image&quot;&gt;&amp;nbsp;oznacza wartość&amp;nbsp;&lt;img src=&quot;http://main.edu.pl/pl/images/ILOCAMP11/gra-tex.18.png&quot; alt=&quot;image&quot;&gt;-tego pola.&lt;/p&gt;



&lt;p&gt;Wyjście&lt;/p&gt;



&lt;p&gt;Pierwszy i jedyny wiersz standardowego wyjścia powinien zawierać jedną liczbę całkowitą, oznaczającą maksymalny możliwy do uzyskania wynik na danej planszy.&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Przykład&lt;/p&gt;



&lt;p&gt;Dla danych wejściowych:&lt;/p&gt;



&lt;pre&gt;
4
1 2 -1 1
&lt;/pre&gt;



&lt;p&gt;poprawną odpowiedzią jest:&lt;/p&gt;



&lt;pre&gt;
4&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/170219/jak-zrobic-zadanie-gra-c-programowanie-dynamiczne</guid>
<pubDate>Thu, 18 Aug 2016 16:01:04 +0000</pubDate>
</item>
</channel>
</rss>