apraksts uzdevumi suutiit jauns statuss rezultati helps apraksts

decode Teksta atkodēšana 1 sek.


 Uzdevums

Tekstu iespējams nokodēt, visus tajā esošos burtus pēc noteikta algoritma aizvietojot ar citiem. Lai veiktu šāda veida kodēšanu, veidosim kodēšanas tabulu.

Lai izveidotu šo tabulu, izvēlēsimies atslēgas vārdu, kas sastāv no atšķirīgiem angļu alfabēta burtiem un naturālu koda skaitli K, kura vērtība nepārsniedz 26.

Kodēšanas tabula sastāvēs no divām rindām un 26 kolonnām. Katrā tabulas rūtiņā atrodas pa vienam angļu alfabēta lielajam burtam. Tabulas pirmajā rindā ir uzrakstīti visi angļu alfabēta lielie burti alfabētiskā secībā pēc kārtas.

Tabulas otrajā rindā, sākot no K-tās kolonnas ir ierakstīts atslēgas vārds. Kad atslēgas vārds ir ierakstīts, pārējie alfabēta burti (kas neietilpst atslēgas vārdā) tiek sakārtoti leksikogrāfiskā secībā un tiek rakstīti tūlīt aiz atslēgas vārda pēc kārtas. Kad ierakstīts burts 26.kolonnā, atlikušie burti tiek rakstīti sākot no pirmās kolonnas.

Piemēram, ja atslēgas vārds ir "DUBROVNIK" un koda skaitlis ir 10, tad kodēšanas tabula izskatās sekojoši:

Teksta kodēšana notiek, oriģinālajā tekstā katru tajā esošo burtu atrodot pirmajā rindā un aizstājot to ar burtu no šīs pašas kolonnas otrās rindas. Teksta atkodēšana notiek pretēji - t.i., jāatrod burts otrajā rindā un jāaizstāj ar burtu no šīs pašas kolonnas pirmās rindas.

Uzrakstiet programmu, kas dotam atslēgas vārdam un koda skaitlim atkodē doto kodēto tekstu, t.i. atrod oriģinālo tekstu!

 
 Ievaddati

Teksta faila decode.in pirmajā rindā dots atslēgas vārds.

Faila otrajā rindā dots koda skaitlis K.

Faila trešajā rindā dots kodētais ziņojums, kura garums nepārsniedz 100 simbolus.

 
 Izvaddati

Teksta faila decode.out vienīgajā rindā jāizvada atkodētais teksts.

 
 Piemērs

decode.indecode.out
NOVI
15
DTZNMNXAWT
VINODOLSKI
  
decode.indecode.out
DUBROVNIK
10
SVPKVSVABZOMSRZY
DOBRODOSLINADMIH
  
decode.indecode.out
ZAGREB
23
QYELREDEWEMLFNEIEP
OVAJZADATAKJELAGAN

 
 Atsauces
Uzdevums izmantots Horvātijas informātikas olimpiādē 2001.gadā

Drukāšanai

 

Copyright © 2001 Girts Folkmanis, LIIS