{"id":"informatyka-2026-maj-matura-rozszerzona/zad/3.3","paper_id":"informatyka-2026-maj-matura-rozszerzona","number":"3.3","points":4,"ptype":"open","subject":"informatyka","category":"matura","year":2026,"month":"maj","level":"rozszerzona","text":"Zadanie 3.3. (0-4)\nPrefiksosufiksem pary słów s1, s2 nazywamy słowo, które jest początkiem s1 (czyli s1 zaczyna\nsię tym słowem) oraz końcem s2 (czyli s2 kończy się tym słowem) lub początkiem s2 oraz\nkońcem s1.\nPodaj wszystkie pary słów z pliku pary.txt, dla których najdłuższy prefiksosufiks ma\nco najmniej 5 liter. Dla każdej podanej w odpowiedzi pary słów podaj długość najdłuższego\nprefiksosufiksu tej pary.\nPrzykłady:\nDla pary aabbbca caacaab mamy następujące prefiksosufiksy:\naab - początek pierwszego słowa i koniec drugiego\nca - początek drugiego słowa i koniec pierwszego.\nNajdłuższy prefiksosufiks ma długość 3, zatem para tych słów nie spełnia wymaganych\nwarunków.\nDla pary abbaabaa baabaabba mamy następujące prefiksosufiksy:\na - początek pierwszego słowa i koniec drugiego\nabba - początek pierwszego słowa i koniec drugiego\nbaa - początek drugiego słowa i koniec pierwszego\nbaabaa - początek drugiego słowa i koniec pierwszego.\nNajdłuższy prefiksosufiks ma długość 6, zatem para spełnia warunki wymagane w zadaniu.\nDla pliku pary_przyklad.txt poprawną odpowiedzią jest\nececdddeed dddeedd 6\n(najdłuższy prefiksosufiks ma długość 6)\nDo oceny oddajesz:\n• plik tekstowy wyniki3.txt zawierający odpowiedzi do zadań 3.1.-3.3. (odpowiedź do\nkażdego zadania powinna być poprzedzona jego numerem)\n• plik(-i) zawierający(-e) kody źródłowe Twoich programów o nazwach odpowiednio\n(uwaga: brak tych plików jest równoznaczny z brakiem rozwiązania zadania):\nzadanie 3.1\nzadanie 3.2\nzadanie 3.3\n3.3.\n0-1-\n2-3-4\nMINP-R0_100","answer":null,"answer_text":"Zadanie 3.3. (0-4)\nWymaganie ogólne\nWymagania szczegółowe\nII. Programowanie i rozwiązywanie\nproblemów z wykorzystaniem komputera\noraz innych urządzeń cyfrowych: układanie\ni programowanie algorytmów,\norganizowanie, wyszukiwanie\ni udostępnianie informacji, posługiwanie się\naplikacjami komputerowymi.\nZdający:\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, testuje\npoprawność programów dla różnych\ndanych;\nZasady oceniania rozwiązań zadań\nw szczególności programuje algorytmy\nz punktu I.2).\nII.1) projektuje i tworzy rozbudowane\nprogramy w procesie rozwiązywania\nproblemów, wykorzystuje w programach\ndobrane do algorytmów struktury danych,\nw tym struktury dynamiczne i korzysta\nz dostępnych bibliotek dla tych struktur.\nII.2) sprawnie posługuje się zintegrowanym\nśrodowiskiem programistycznym przy\npisaniu, uruchamianiu i testowaniu\nprogramów.\nZasady oceniania\n4 pkt - odpowiedź poprawna, w tym:\n3 pkt - pary słów\n1 pkt - długości najdłuższych prefiksosufiksów.\n3 pkt - podanie par słów, dla których najdłuższy prefiskosufiks ma:\nwięcej niż 5 liter\nalbo\nco najmniej 4 litery,\noraz podanie dla każdej z tych par długości najdłuższego prefiksosufiksu.\n2 pkt - podanie par słów oraz długości najdłuższych prefiksosufiksów (po jednym punkcie za\npary i za długości) w przypadku:\nsprawdzania prefiksosufiksów tylko dla kolejności s1, s2 lub tylko dla kolejności s2, s1\nalbo\nszukania najdłuższego prefiksosufiksu w pliku z danymi, wynik:\naababbbababbbbbbaab bbbbaabbababababa 7\nalbo\nsprawdzania prefiksosufiksów o długości dokładnie 5.\n0 pkt - odpowiedź niepoprawna albo brak odpowiedzi.\nPoprawna odpowiedź\nbbbbaabbababbaaaa baaaaabaaabbbabab 5\naababbbababbbbbbaab bbbbaabbababababa 7\naaaababaaaabbbb aabbbbbabbbaaaa 6\nbbbbabaaabbbabb aaababaabbbbbbba 5\nccccabacbba acbbabcbcbcbaa 5\ncaabbccabccc cabccccabbaac 6\nabaacabcccccabbbc abbbcbbbbbcabaca 5","solution":"Siedem par: ``` bbbbaabbababbaaaa baaaaabaaabbbabab 5 aababbbababbbbbbaab bbbbaabbababababa 7 aaaababaaaabbbb aabbbbbabbbaaaa 6 bbbbabaaabbbabb aaababaabbbbbbba 5 ccccabacbba acbbabcbcbcbaa 5 caabbccabccc cabccccabbaac 6 abaacabcccccabbbc abbbcbbbbbcabaca 5 ```","image":"img/informatyka-2026-maj-matura-rozszerzona/zad-3.3.webp","solution_image":null,"topics":"przetwarzanie plikow, kody ASCII, prefiksosufiks, algorytmy na slowach","page_from":11,"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 3.3. (0-4)<br>Prefiksosufiksem pary słów s1, s2 nazywamy słowo, które jest początkiem s1 (czyli s1 zaczyna<br>się tym słowem) oraz końcem s2 (czyli s2 kończy się tym słowem) lub początkiem s2 oraz<br>końcem s1.<br>Podaj wszystkie pary słów z pliku pary.txt, dla których najdłuższy prefiksosufiks ma<br>co najmniej 5 liter. Dla każdej podanej w odpowiedzi pary słów podaj długość najdłuższego<br>prefiksosufiksu tej pary.<br>Przykłady:<br>Dla pary aabbbca caacaab mamy następujące prefiksosufiksy:<br>aab - początek pierwszego słowa i koniec drugiego<br>ca - początek drugiego słowa i koniec pierwszego.<br>Najdłuższy prefiksosufiks ma długość 3, zatem para tych słów nie spełnia wymaganych<br>warunków.<br>Dla pary abbaabaa baabaabba mamy następujące prefiksosufiksy:<br>a - początek pierwszego słowa i koniec drugiego<br>abba - początek pierwszego słowa i koniec drugiego<br>baa - początek drugiego słowa i koniec pierwszego<br>baabaa - początek drugiego słowa i koniec pierwszego.<br>Najdłuższy prefiksosufiks ma długość 6, zatem para spełnia warunki wymagane w zadaniu.<br>Dla pliku pary_przyklad.txt poprawną odpowiedzią jest<br>ececdddeed dddeedd 6<br>(najdłuższy prefiksosufiks ma długość 6)<br>Do oceny oddajesz:<br>• plik tekstowy wyniki3.txt zawierający odpowiedzi do zadań 3.1.-3.3. (odpowiedź do<br>każdego zadania powinna być poprzedzona jego numerem)<br>• plik(-i) zawierający(-e) kody źródłowe Twoich programów o nazwach odpowiednio<br>(uwaga: brak tych plików jest równoznaczny z brakiem rozwiązania zadania):<br>zadanie 3.1<br>zadanie 3.2<br>zadanie 3.3<br>3.3.<br>0-1-<br>2-3-4<br>MINP-R0_100</p>","answer_text_html":"<p>Zadanie 3.3. (0-4)<br>Wymaganie ogólne<br>Wymagania szczegółowe<br>II. Programowanie i rozwiązywanie<br>problemów z wykorzystaniem komputera<br>oraz innych urządzeń cyfrowych: układanie<br>i programowanie algorytmów,<br>organizowanie, wyszukiwanie<br>i udostępnianie informacji, posługiwanie się<br>aplikacjami komputerowymi.<br>Zdający:<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, testuje<br>poprawność programów dla różnych<br>danych;<br>Zasady oceniania rozwiązań zadań<br>w szczególności programuje algorytmy<br>z punktu I.2).<br>II.1) projektuje i tworzy rozbudowane<br>programy w procesie rozwiązywania<br>problemów, wykorzystuje w programach<br>dobrane do algorytmów struktury danych,<br>w tym struktury dynamiczne i korzysta<br>z dostępnych bibliotek dla tych struktur.<br>II.2) sprawnie posługuje się zintegrowanym<br>środowiskiem programistycznym przy<br>pisaniu, uruchamianiu i testowaniu<br>programów.<br>Zasady oceniania<br>4 pkt - odpowiedź poprawna, w tym:<br>3 pkt - pary słów<br>1 pkt - długości najdłuższych prefiksosufiksów.<br>3 pkt - podanie par słów, dla których najdłuższy prefiskosufiks ma:<br>więcej niż 5 liter<br>albo<br>co najmniej 4 litery,<br>oraz podanie dla każdej z tych par długości najdłuższego prefiksosufiksu.<br>2 pkt - podanie par słów oraz długości najdłuższych prefiksosufiksów (po jednym punkcie za<br>pary i za długości) w przypadku:<br>sprawdzania prefiksosufiksów tylko dla kolejności s1, s2 lub tylko dla kolejności s2, s1<br>albo<br>szukania najdłuższego prefiksosufiksu w pliku z danymi, wynik:<br>aababbbababbbbbbaab bbbbaabbababababa 7<br>albo<br>sprawdzania prefiksosufiksów o długości dokładnie 5.<br>0 pkt - odpowiedź niepoprawna albo brak odpowiedzi.<br>Poprawna odpowiedź<br>bbbbaabbababbaaaa baaaaabaaabbbabab 5<br>aababbbababbbbbbaab bbbbaabbababababa 7<br>aaaababaaaabbbb aabbbbbabbbaaaa 6<br>bbbbabaaabbbabb aaababaabbbbbbba 5<br>ccccabacbba acbbabcbcbcbaa 5<br>caabbccabccc cabccccabbaac 6<br>abaacabcccccabbbc abbbcbbbbbcabaca 5</p>","solutions":[{"source":"maturaonline","label":"matura-online.pl","kind":"text","html":"<p>Siedem par: ``<code> bbbbaabbababbaaaa baaaaabaaabbbabab 5 aababbbababbbbbbaab bbbbaabbababababa 7 aaaababaaaabbbb aabbbbbabbbaaaa 6 bbbbabaaabbbabb aaababaabbbbbbba 5 ccccabacbba acbbabcbcbcbaa 5 caabbccabccc cabccccabbaac 6 abaacabcccccabbbc abbbcbbbbbcabaca 5 </code>``</p>"},{"source":"maturazai","label":"maturazai.pl (AI)","kind":"text","html":"<h4>Poprawna odpowiedź:</h4>\n<p>Pary słów, dla których najdłuższy prefiksosufiks ma <strong>co najmniej 5 liter</strong> (para → długość najdłuższego prefiksosufiksu):</p>\n<p>| Para słów | Długość |<br>| <code>bbbbaabbababbaaaa baaaaabaaabbbabab</code> | 5 |<br>| <code>aababbbababbbbbbaab bbbbaabbababababa</code> | 7 |<br>| <code>aaaababaaaabbbb aabbbbbabbbaaaa</code> | 6 |<br>| <code>bbbbabaaabbbabb aaababaabbbbbbba</code> | 5 |<br>| <code>ccccabacbba acbbabcbcbcbaa</code> | 5 |<br>| <code>caabbccabccc cabccccabbaac</code> | 6 |<br>| <code>abaacabcccccabbbc abbbcbbbbbcabaca</code> | 5 |</p>\n<h4>Uzasadnienie</h4>\n<p><strong>Prefiksosufiks</strong> pary $s_1, s_2$ to słowo będące jednocześnie:</p>\n<ul><li>prefiksem $s_1$ i sufiksem $s_2$, <strong>lub</strong></li><li>prefiksem $s_2$ i sufiksem $s_1$.</li></ul>\n<p>Dla każdej pary szukamy <strong>najdłuższego</strong> takiego słowa i wypisujemy pary, w których jego długość $\\ge 5$.</p>\n<p>Algorytm dla jednej pary (sprawdzamy obie „strony&quot; i bierzemy dłuższy wynik):</p>\n<p>```python<br>def najdluzszy_ps(a, b):</p>\n<h3>najdłuższe słowo będące prefiksem a i sufiksem b</h3>\n<p>najlepszy = 0<br>maxk = min(len(a), len(b))<br>for k in range(1, maxk + 1):<br>if a[:k] == b[-k:]:<br>najlepszy = k<br>return najlepszy</p>\n<p>def ps_pary(s1, s2):<br>return max(najdluzszy_ps(s1, s2), najdluzszy_ps(s2, s1))</p>\n<p>with open(&#x27;pary.txt&#x27;) as f, open(&#x27;wyniki3.txt&#x27;, &#x27;a&#x27;) as w:<br>for line in f:<br>s1, s2 = line.split()<br>d = ps_pary(s1, s2)<br>if d &gt;= 5:<br>w.write(f&#x27;{s1} {s2} {d}\\n&#x27;)</p>\n<p>Po przejrzeniu wszystkich 500 par pliku <code>pary.txt</code> warunek $\\ge 5$ spełnia <strong>siedem</strong> par wypisanych w tabeli powyżej. Zwróćmy uwagę, że dla każdej pary bierzemy <strong>najdłuższy</strong> prefiksosufiks (a nie pierwszy znaleziony), rozpatrując <strong>obie</strong> możliwe konfiguracje (prefiks $s_1$/sufiks $s_2$ oraz prefiks $s_2$/sufiks $s_1$) - np. dla pary <code>aababbbababbbbbbaab bbbbaabbababababa</code> najdłuższy prefiksosufiks ma długość <strong>7</strong>.</p>\n<h4>Zasady oceniania CKE</h4>\n<ul><li><strong>4 pkt</strong> łącznie: <strong>3 pkt</strong> za poprawny zbiór par słów, <strong>1 pkt</strong> za poprawne długości najdłuższych prefiksosufiksów.</li><li><strong>3 pkt</strong> - pary z prefiksosufiksem $&gt;5$ liter lub $\\ge 4$ litery wraz z długościami.</li><li><strong>2 pkt</strong> - rozwiązanie częściowe (rozpatrzenie tylko jednej kolejności, tylko dokładnie 5 liter, albo poprawne szukanie najdłuższego z wynikiem <code>aababbbababbbbbbaab bbbbaabbababababa 7</code>).</li><li><strong>0 pkt</strong> - odpowiedź niepoprawna lub brak.</li></ul>\n<p>(Uwaga: brak odpowiedzi ze strony AI jest rozbieżny z kluczem.)</p>"}]}