{"id":"informatyka-2023-czerwiec-matura-rozszerzona/zad/2","paper_id":"informatyka-2023-czerwiec-matura-rozszerzona","number":"2","points":null,"ptype":"open","subject":"informatyka","category":"matura","year":2023,"month":"czerwiec","level":"rozszerzona","text":"Zadanie 2. Sufiksy\nSłowo definiujemy jako ciąg złożony z małych liter alfabetu angielskiego.\nNiech s[1 n] będzie słowem o długości n > 0.\nSufiksem słowa s nazywamy każde jego podsłowo kończące na ostatniej pozycji słowa s.\nSufiks s[k n] nazywamy k-tym sufiksem.\nPrzykład 1.\nsłowo s[1 10] = mascarpone ma następujące sufiksy:\nk\ns[k n]\n1\nmascarpone\n2\nascarpone\n3\nscarpone\n4\ncarpone\n5\narpone\n6\nrpone\n7\npone\n8\none\n9\nne\n10\ne\nUporządkowanie alfabetyczne wszystkich sufiksów słowa mascarpone daje następującą\nkolejność ich numerów (od najmniejszego): 5, 2, 4, 10, 1, 9, 8, 7, 6, 3:\nk\ns[k n]\n5\narpone\n2\nascarpone\n4\ncarpone\n10\ne\n1\nmascarpone\n9\nne\n8\none\n7\npone\n6\nrpone\n3\nscarpone\nMINP-R0_100\nPoniżej zapisano funkcję czy_mniejszy(n, s, k1, k2). Wynikiem funkcji jest wartość\nPRAWDA, gdy sufiks s[k1 n] jest mniejszy w porządku alfabetycznym od sufiksu s[k2 n]\noraz FAŁSZ w przeciwnym przypadku.\nSpecyfikacja\nDane:\nn\n- długość słowa,\ns[1 n] - słowo zapisane jako tablica znaków (numerowanych od 1),\nk1\n- numer pierwszego sufiksu (1 ≤ k1 ≤ n),\nk2\n- numer drugiego sufiksu (1 ≤ k2 ≤ n, k1 ≠ k2).\nWynik:\nPRAWDA jeśli sufiks s[k1 n] jest mniejszy w porządku alfabetycznym od\ns[k2 n], albo FAŁSZ - w przeciwnym wypadku.\nczy_mniejszy (n, s, k1, k2)\ni ← k1\nj ← k2\ndopóki ( i ≤ n oraz j ≤ n ) wykonuj\njeżeli ( s[i] == s[j] )\ni ← i + 1\nj ← j + 1\nw przeciwnym razie\njeżeli ( s[i] < s[j] )\nzakończ z wynikiem PRAWDA\nw przeciwnym razie\nzakończ z wynikiem FAŁSZ\njeżeli ( j ≤ n )\nzakończ z wynikiem PRAWDA\nw przeciwnym razie\nzakończ z wynikiem FAŁSZ\nMINP-R0_100","answer":null,"answer_text":"10\n22\n11\n110\n220","solution":null,"image":"img/informatyka-2023-czerwiec-matura-rozszerzona/zad-2.webp","solution_image":null,"topics":null,"page_from":8,"source":"ocr","answer_source":null,"answer_text_source":"ocr","solution_source":null,"text_source":"ocr","source_label":"Informatyka · Matura · czerwiec 2023 (rozszerzona)","subject_label":"Informatyka","category_label":"Matura","text_html":"<p>Zadanie 2. Sufiksy<br>Słowo definiujemy jako ciąg złożony z małych liter alfabetu angielskiego.<br>Niech s[1 n] będzie słowem o długości n &gt; 0.<br>Sufiksem słowa s nazywamy każde jego podsłowo kończące na ostatniej pozycji słowa s.<br>Sufiks s[k n] nazywamy k-tym sufiksem.<br>Przykład 1.<br>słowo s[1 10] = mascarpone ma następujące sufiksy:<br>k<br>s[k n]<br>1<br>mascarpone<br>2<br>ascarpone<br>3<br>scarpone<br>4<br>carpone<br>5<br>arpone<br>6<br>rpone<br>7<br>pone<br>8<br>one<br>9<br>ne<br>10<br>e<br>Uporządkowanie alfabetyczne wszystkich sufiksów słowa mascarpone daje następującą<br>kolejność ich numerów (od najmniejszego): 5, 2, 4, 10, 1, 9, 8, 7, 6, 3:<br>k<br>s[k n]<br>5<br>arpone<br>2<br>ascarpone<br>4<br>carpone<br>10<br>e<br>1<br>mascarpone<br>9<br>ne<br>8<br>one<br>7<br>pone<br>6<br>rpone<br>3<br>scarpone<br>MINP-R0_100<br>Poniżej zapisano funkcję czy_mniejszy(n, s, k1, k2). Wynikiem funkcji jest wartość<br>PRAWDA, gdy sufiks s[k1 n] jest mniejszy w porządku alfabetycznym od sufiksu s[k2 n]<br>oraz FAŁSZ w przeciwnym przypadku.<br>Specyfikacja<br>Dane:<br>n</p>\n<ul><li>długość słowa,</li></ul>\n<p>s[1 n] - słowo zapisane jako tablica znaków (numerowanych od 1),<br>k1</p>\n<ul><li>numer pierwszego sufiksu (1 ≤ k1 ≤ n),</li></ul>\n<p>k2</p>\n<ul><li>numer drugiego sufiksu (1 ≤ k2 ≤ n, k1 ≠ k2).</li></ul>\n<p>Wynik:<br>PRAWDA jeśli sufiks s[k1 n] jest mniejszy w porządku alfabetycznym od<br>s[k2 n], albo FAŁSZ - w przeciwnym wypadku.<br>czy_mniejszy (n, s, k1, k2)<br>i ← k1<br>j ← k2<br>dopóki ( i ≤ n oraz j ≤ n ) wykonuj<br>jeżeli ( s[i] == s[j] )<br>i ← i + 1<br>j ← j + 1<br>w przeciwnym razie<br>jeżeli ( s[i] &lt; s[j] )<br>zakończ z wynikiem PRAWDA<br>w przeciwnym razie<br>zakończ z wynikiem FAŁSZ<br>jeżeli ( j ≤ n )<br>zakończ z wynikiem PRAWDA<br>w przeciwnym razie<br>zakończ z wynikiem FAŁSZ<br>MINP-R0_100</p>","answer_text_html":"<p>10<br>22<br>11<br>110<br>220</p>","solutions":[]}