{"id":"informatyka-2026-maj-matura-rozszerzona/zad/4.4","paper_id":"informatyka-2026-maj-matura-rozszerzona","number":"4.4","points":3,"ptype":"open","subject":"informatyka","category":"matura","year":2026,"month":"maj","level":"rozszerzona","text":"Zadanie 4.4. (0-3)\nPolicz, ilu najwięcej przełożonych ma jeden pracownik. Podaj tę liczbę oraz podaj, ilu\npracowników ma taką liczbę przełożonych.\nDla danych z pliku korpo_przyklad.txt poprawna odpowiedź to:\n2 49 997\n(największa liczba przełożonych: 2, liczba pracowników, którzy mają 2 przełożonych:\n49 997).\nDo oceny oddajesz:\n• plik wyniki4.txt - zawierający odpowiedzi do zadań 4.2.-4.4.\n(odpowiedź do każdego zadania powinna być poprzedzona jego numerem)\n• pliki zawierające kody źródłowe Twojego(-ich) programu(-ów) o nazwach\n(uwaga: brak tych plików jest równoznaczny z brakiem rozwiązania zadania):\nzadanie 4.2\nzadanie 4.3\nzadanie 4.4\n4.4.\n0-1-\n2-3\nMINP-R0_100","answer":null,"answer_text":"Zadanie 4.4. (0-3)\nWymagania ogólne\nWymagania szczegółowe\nI. Rozumienie, analizowanie\ni rozwiązywanie problemów.\nII. Programowanie i rozwiązywanie\nproblemów z wykorzystaniem komputera\ni innych urządzeń cyfrowych.\nZdający:\nI.4) do realizacji rozwiązania problemu\ndobiera odpowiednią metodę lub technikę\nalgorytmiczną i struktury danych.\nII.2) sprawnie posługuje się zintegrowanym\nśrodowiskiem programistycznym przy\npisaniu, uruchamianiu i testowaniu\nprogramów.\nP.I.2) stosuje przy rozwiązywaniu\nproblemów z różnych dziedzin algorytmy\npoznane w szkole podstawowej oraz\nalgorytmy:\na) na liczbach [ ].\nP.II.1) projektuje i programuje rozwiązania\nproblemów z różnych dziedzin, stosuje przy\ntym: instrukcje wejścia/wyjścia, wyrażenia\narytmetyczne i logiczne, instrukcje\nwarunkowe, instrukcje iteracyjne, funkcje\nz parametrami i bez parametrów [ ].\nZasady oceniania\n3 pkt - odpowiedź poprawna, w tym:\n2 pkt - liczba przełożonych\n1 pkt - liczba pracowników.\n0 pkt - odpowiedź niepoprawna albo brak odpowiedzi.\nPoprawna odpowiedź\n22 2\nZasady oceniania rozwiązań zadań","solution":"**22 2** — największa liczba przełożonych to 22, a takich pracowników jest 2.","image":"img/informatyka-2026-maj-matura-rozszerzona/zad-4.4.webp","solution_image":null,"topics":"drzewo, hierarchia, przetwarzanie pliku, zliczanie podwladnych","page_from":14,"source":"ocr","answer_source":null,"answer_text_source":"ocr","solution_source":"maturaonline","text_source":"ocr","source_label":"Informatyka · Matura · maj 2026 (rozszerzona)","subject_label":"Informatyka","category_label":"Matura","text_html":"<p>Zadanie 4.4. (0-3)<br>Policz, ilu najwięcej przełożonych ma jeden pracownik. Podaj tę liczbę oraz podaj, ilu<br>pracowników ma taką liczbę przełożonych.<br>Dla danych z pliku korpo_przyklad.txt poprawna odpowiedź to:<br>2 49 997<br>(największa liczba przełożonych: 2, liczba pracowników, którzy mają 2 przełożonych:<br>49 997).<br>Do oceny oddajesz:<br>• plik wyniki4.txt - zawierający odpowiedzi do zadań 4.2.-4.4.<br>(odpowiedź do każdego zadania powinna być poprzedzona jego numerem)<br>• pliki zawierające kody źródłowe Twojego(-ich) programu(-ów) o nazwach<br>(uwaga: brak tych plików jest równoznaczny z brakiem rozwiązania zadania):<br>zadanie 4.2<br>zadanie 4.3<br>zadanie 4.4<br>4.4.<br>0-1-<br>2-3<br>MINP-R0_100</p>","answer_text_html":"<p>Zadanie 4.4. (0-3)<br>Wymagania ogólne<br>Wymagania szczegółowe<br>I. Rozumienie, analizowanie<br>i rozwiązywanie problemów.<br>II. Programowanie i rozwiązywanie<br>problemów z wykorzystaniem komputera<br>i innych urządzeń cyfrowych.<br>Zdający:<br>I.4) do realizacji rozwiązania problemu<br>dobiera odpowiednią metodę lub technikę<br>algorytmiczną i struktury danych.<br>II.2) sprawnie posługuje się zintegrowanym<br>środowiskiem programistycznym przy<br>pisaniu, uruchamianiu i testowaniu<br>programów.<br>P.I.2) stosuje przy rozwiązywaniu<br>problemów z różnych dziedzin algorytmy<br>poznane w szkole podstawowej oraz<br>algorytmy:<br>a) na liczbach [ ].<br>P.II.1) projektuje i programuje rozwiązania<br>problemów z różnych dziedzin, stosuje przy<br>tym: instrukcje wejścia/wyjścia, wyrażenia<br>arytmetyczne i logiczne, instrukcje<br>warunkowe, instrukcje iteracyjne, funkcje<br>z parametrami i bez parametrów [ ].<br>Zasady oceniania<br>3 pkt - odpowiedź poprawna, w tym:<br>2 pkt - liczba przełożonych<br>1 pkt - liczba pracowników.<br>0 pkt - odpowiedź niepoprawna albo brak odpowiedzi.<br>Poprawna odpowiedź<br>22 2<br>Zasady oceniania rozwiązań zadań</p>","solutions":[{"source":"maturaonline","label":"matura-online.pl","kind":"text","html":"<p><strong>22 2</strong> — największa liczba przełożonych to 22, a takich pracowników jest 2.</p>"},{"source":"maturazai","label":"maturazai.pl (AI)","kind":"text","html":"<h4>Poprawna odpowiedź: <strong>najwięcej przełożonych = 22; liczba pracowników z taką liczbą przełożonych = 2</strong> (zapis: <code>22 2</code>)</h4>\n<h4>Uzasadnienie</h4>\n<p>Liczba <strong>wszystkich</strong> przełożonych pracownika to długość ścieżki od niego w górę drzewa aż do prezesa (czyli głębokość węzła w drzewie struktury). Dla każdego pracownika wyznaczamy tę liczbę, następnie znajdujemy wartość maksymalną i zliczamy, ilu pracowników ją osiąga.</p>\n<p>Aby uniknąć wielokrotnego przechodzenia tych samych ścieżek, stosujemy spamiętywanie (memoizację) głębokości:</p>\n<p>```python<br>import sys<br>sys.setrecursionlimit(200000)<br>n = 50000<br>boss = [0] * (n + 1)<br>with open(&#x27;korpo.txt&#x27;) as f:<br>for i in range(1, n + 1):<br>boss[i] = int(f.readline())</p>\n<p>depth = [None] * (n + 1)<br>def glebokosc(i):<br>if boss[i] == 0: # prezes: 0 przełożonych<br>depth[i] = 0<br>return 0<br>if depth[i] is None:<br>depth[i] = 1 + glebokosc(boss[i])<br>return depth[i]</p>\n<p>for i in range(1, n + 1):<br>glebokosc(i)</p>\n<p>maks = max(depth[1:])<br>ile = sum(1 for i in range(1, n + 1) if depth[i] == maks)<br>print(maks, ile)</p>\n<p>Głębokość węzła $i$ spełnia zależność<br>$$\\text{liczba\\_przełożonych}(i) = 1 + \\text{liczba\\_przełożonych}(\\text{przełożony}(i)),$$<br>z warunkiem brzegowym $0$ dla prezesa. Po obliczeniu wartości dla wszystkich pracowników maksimum wynosi <strong>22</strong>, a osiąga je dokładnie <strong>2</strong> pracowników.</p>\n<h4>Zasady oceniania CKE</h4>\n<ul><li><strong>3 pkt</strong> łącznie: <strong>2 pkt</strong> za poprawną największą liczbę przełożonych (22), <strong>1 pkt</strong> za poprawną liczbę pracowników (2).</li><li><strong>0 pkt</strong> - odpowiedź niepoprawna lub brak.</li></ul>\n<p>(Uwaga: brak konkretnej odpowiedzi ze strony AI jest rozbieżny z kluczem - wymagane <code>22 2</code>.)</p>"}]}