M2

13_2c

528
Dana jest dodatnia liczba całkowita n oraz słowo s[1..n]. Naszym celem jest obliczenie wartości elementów tablicy T[1..n] zawierającej numery sufiksów słowa s[1..n] uporządkowanych w porządku alfabetycznym.
Przykład:
dla słowa mascarpone wynikowa tablica T to [5, 2, 4, 10, 1, 9, 8, 7, 6, 3],
dla słowa kalafiorowa wynikowa tablica T to [11, 4, 2, 5, 6, 1, 3, 7, 9, 8, 10].

Z wykorzystaniem funkcji czy_mniejszy(n, s, k1, k2) zapisz w wybranej przez siebie notacji (w postaci pseudokodu lub w wybranym języku programowania) algorytm, który obliczy wartości elementów tablicy T zawierającej numery sufiksów zgodnie z porządkiem alfabetycznym sufiksów słowa s.

Uwaga: w zapisie możesz wykorzystać tylko operacje arytmetyczne (dodawanie, odejmowanie, mnożenie, dzielenie, dzielenie całkowite, reszta z dzielenia), odwoływanie się do pojedynczych elementów tablicy, porównywanie liczb lub znaków, instrukcje sterujące
i przypisania lub samodzielnie napisane funkcje zawierające wyżej wymienione operacje.

Specyfikacja
Dane:
n – liczba całkowita dodatnia, długość słowa
s[1..n] – słowo zapisane jako tablica znaków (numerowana od 1)
Wynik:
T[1..n] – tablica T taka, że T[i]-ty sufiks słowa s jest mniejszy w porządku
alfabetycznym od T[i +1]-go sufiksu słowa s dla każdego 1 ≤ i < n.
anagram.txt fotowoltaika.txt instalacje.txt kraje.txt slowa1.txt slowa2.txt slowa3.txt slowa4.txt urzadzenia.txt r1.jpg r2.jpg r3.jpg r4.jpg