{"id":"informatyka-2026-maj-matura-rozszerzona/zad/4.2","paper_id":"informatyka-2026-maj-matura-rozszerzona","number":"4.2","points":2,"ptype":"open","subject":"informatyka","category":"matura","year":2026,"month":"maj","level":"rozszerzona","text":"Zadanie 4.2. (0-2)\nNa podstawie danych zapisanych w pliku korpo.txt podaj, ilu pracowników nie jest\nprzełożonym żadnego pracownika.\nDla danych z pliku korpo_przyklad.txt poprawna odpowiedź to:\n49 998","answer":"**25 113**","answer_text":"Zadanie 4.2. (0-2)\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\nZasady oceniania rozwiązań zadań\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\n2 pkt - odpowiedź poprawna.\n1 pkt - odpowiedź różniąca się o 1 od poprawnej odpowiedzi (25112 lub 25114).\n0 pkt - odpowiedź niepoprawna albo brak odpowiedzi.\nPoprawna odpowiedź\n25113","solution":"## Poprawna odpowiedź: **25113**\n\n## Uzasadnienie\n\nPlik `korpo.txt` opisuje strukturę korporacji: w $i$-tym wierszu ($i$ od 1 do 50 000) zapisany jest numer **bezpośredniego przełożonego** pracownika $i$ (pierwszy wiersz to 0 - prezes nie ma przełożonego).\n\nPracownik **nie jest przełożonym żadnego pracownika** wtedy, gdy jego numer **nie pojawia się** w pliku jako czyjś przełożony - czyli jest „liściem\" w drzewie struktury.\n\nAlgorytm:\n1. Wczytujemy plik i zbieramy zbiór wszystkich numerów, które występują jako przełożeni (wartości w wierszach, pomijając 0).\n2. Pracownicy, których numery (1 50000) **nie** należą do tego zbioru, to szukani „liście\".\n\n```python\nn = 50000\nma_podwladnych = set()\nwith open('korpo.txt') as f:\nfor line in f:\nv = int(line)\nif v != 0:\nma_podwladnych.add(v)\nlisci = sum(1 for i in range(1, n + 1) if i not in ma_podwladnych)\nprint(lisci)\n\nRównoważnie: liczba pracowników będących przełożonymi to $|\\text{ma\\_podwladnych}|$, a szukana liczba to\n$$50000 - |\\text{ma\\_podwladnych}|.$$\n\nDla danych z pliku `korpo.txt` wynik wynosi **25113**.\n\n## Zasady oceniania CKE\n\n- **2 pkt** - odpowiedź poprawna (25113).\n- **1 pkt** - wynik różniący się o 1 (25112 lub 25114).\n- **0 pkt** - odpowiedź niepoprawna lub brak.\n\n(Uwaga: rozwiązanie AI podające 49998 dotyczy pliku przykładowego `korpo_przyklad.txt`, a nie właściwego `korpo.txt` - to błąd; poprawny wynik dla `korpo.txt` to **25113**.)","image":"img/informatyka-2026-maj-matura-rozszerzona/zad-4.2.webp","solution_image":null,"topics":"drzewo, hierarchia, przetwarzanie pliku, zliczanie podwladnych","page_from":13,"source":"ocr","answer_source":"maturaonline","answer_text_source":"ocr","solution_source":"maturazai","text_source":"ocr","source_label":"Informatyka · Matura · maj 2026 (rozszerzona)","subject_label":"Informatyka","category_label":"Matura","text_html":"<p>Zadanie 4.2. (0-2)<br>Na podstawie danych zapisanych w pliku korpo.txt podaj, ilu pracowników nie jest<br>przełożonym żadnego pracownika.<br>Dla danych z pliku korpo_przyklad.txt poprawna odpowiedź to:<br>49 998</p>","answer_text_html":"<p>Zadanie 4.2. (0-2)<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>Zasady oceniania rozwiązań zadań<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>2 pkt - odpowiedź poprawna.<br>1 pkt - odpowiedź różniąca się o 1 od poprawnej odpowiedzi (25112 lub 25114).<br>0 pkt - odpowiedź niepoprawna albo brak odpowiedzi.<br>Poprawna odpowiedź<br>25113</p>","solutions":[{"source":"maturazai","label":"maturazai.pl (AI)","kind":"text","html":"<h4>Poprawna odpowiedź: <strong>25113</strong></h4>\n<h4>Uzasadnienie</h4>\n<p>Plik <code>korpo.txt</code> opisuje strukturę korporacji: w $i$-tym wierszu ($i$ od 1 do 50 000) zapisany jest numer <strong>bezpośredniego przełożonego</strong> pracownika $i$ (pierwszy wiersz to 0 - prezes nie ma przełożonego).</p>\n<p>Pracownik <strong>nie jest przełożonym żadnego pracownika</strong> wtedy, gdy jego numer <strong>nie pojawia się</strong> w pliku jako czyjś przełożony - czyli jest „liściem&quot; w drzewie struktury.</p>\n<p>Algorytm:</p>\n<ol><li>Wczytujemy plik i zbieramy zbiór wszystkich numerów, które występują jako przełożeni (wartości w wierszach, pomijając 0).</li><li>Pracownicy, których numery (1 50000) <strong>nie</strong> należą do tego zbioru, to szukani „liście&quot;.</li></ol>\n<p>```python<br>n = 50000<br>ma_podwladnych = set()<br>with open(&#x27;korpo.txt&#x27;) as f:<br>for line in f:<br>v = int(line)<br>if v != 0:<br>ma_podwladnych.add(v)<br>lisci = sum(1 for i in range(1, n + 1) if i not in ma_podwladnych)<br>print(lisci)</p>\n<p>Równoważnie: liczba pracowników będących przełożonymi to $|\\text{ma\\_podwladnych}|$, a szukana liczba to<br>$$50000 - |\\text{ma\\_podwladnych}|.$$</p>\n<p>Dla danych z pliku <code>korpo.txt</code> wynik wynosi <strong>25113</strong>.</p>\n<h4>Zasady oceniania CKE</h4>\n<ul><li><strong>2 pkt</strong> - odpowiedź poprawna (25113).</li><li><strong>1 pkt</strong> - wynik różniący się o 1 (25112 lub 25114).</li><li><strong>0 pkt</strong> - odpowiedź niepoprawna lub brak.</li></ul>\n<p>(Uwaga: rozwiązanie AI podające 49998 dotyczy pliku przykładowego <code>korpo_przyklad.txt</code>, a nie właściwego <code>korpo.txt</code> - to błąd; poprawny wynik dla <code>korpo.txt</code> to <strong>25113</strong>.)</p>"}]}