Datu saspiešanas algoritms, kas darbojas pēc "bloku saspiešanas"metodes, pielieto datu blokiem sekojošu pārveidojumu.
Aplūkosim tabulu M, kas sastāv no N rindām un N kolonnām, kur katrā rindā ir kāda no S rotācijām. Tabulā ir visas rotācijas, kas sakārtotas leksikogrāfiskā(vārdnīcas) secībā augošā secībā. L ir virkne, ko veido matricas M pēdējā kolonna. Tiešais pārveidojums dotai virknei S kā rezultātu atdod virkni L un
skaitli K - tās tabulas M rindas numuru, kurā ierakstīta virkne S. (Ja tādas ir vairākas, tiek atdots jebkurš no numuriem.)
Virkne S atrodas tabulas otrajā rindā. L='karaab'. Uzrakstiet programmu, kas veic apgriezto pārveidojumu - dotai virknei L un skaitlim K atrod virkni S.
Teksta faila abraka.in pirmā rinda satur naturālus skaitļus K un N, kas atdalīti ar tukšumsimbolu.
1<=N<=30000, 1<=K<=N.
Teksta faila abraka.out vienīgajā rindā jāizvada virkne S.
|
Copyright © 2001 Girts Folkmanis, LIIS |