Programozó versenyek

DEIK Regionális Programozó Csapatverseny, egyetemi kategória, 2023. december 3.

2023. december 3. 10:00 – 2023. december 3. 15:30

Cikk-cakk titkosítás

Jó, hát a korábbi titkosítás nem működött...de mi, az Informatikai Kar oktatói-kutató nem arról vagyunk híresek, hogy feladnánk! Az előző sikertelen próbálkozásból új erőt merítve már el is készültünk a következő, "state-of-the-art" titkosításunkkal! Az egyzerűen csak cikk-cakk titkosításnak nevezett technológia már egészen biztosan feltörhetetlen és így biztosítja akár a legérzékenyebb kormánytitkok védelmét is. Igazából még tesztelni sem kéne, annyira biztosak vagyunk a dolgunkban. Szóval...lényegében most nincs is feladat, köszönöm a figyelmet.
Oh, persze, majd elfelejtettem: hát el kéne mondanom, hogy hogyan tudja mindenki használni ezt a fantasztikus új rendszert:

  • Rendelkezésünkre áll a titkosítatlan szöveg, illetve egy n magasság.
  • A titkosítás balról jobbra, "átlósan" történik.
  • Az egyszerűbb érthetőség miatt a magyarázatban a betűk és sorok indexelése az 1, 2, 3,... számokkal történik. Persze a programozás során a nyelvtől függő indexelés használandó (általában 0-tól kezdődő). A titkosítás során a titkosítatlan szöveg első betűje az első sor elejére kerül, a második betűje a 2. sor 2. helyére, a 3. betűje a 3. sor 3. helyére,... stb. Egészen addig megyünk így lefelé átlósan amíg el nem érünk a "legaljára" (n.-edik sor n. betűjéhez). Ezt követően hasonló elven "jobbra és felfelé" haladunk átlósan egyesével. A tetejére felérve a dolog úrakezdődik, ismét lefelé haladunk átlósan egyesével, stb.
  • A titkosításnak mindig a legfelső sorban kell befejeződnie, így ha netán hamarabb érne véget, úgy a titkosítatlan szöveg végét - karakterekkel kell kiegészíteni.
  • A titkosított szöveget úgy kapjuk meg az így elkészített cikk-cakk vonalból, hogy sorról sorra haladunk és balról jobbra összeolvassuk a betűket (egyetlen sornyi stringet kell kapnunk).

Input

A bemenet két sorból áll:

  • Az első sor egy pozitív egész n szám, mely a cikk-cakk magasságát adja meg.
  • A második sor egy t string, mely a titkosítatlan szöveg.

Output

A kimenet a megadott titkosítatlan szöveg titkosítása a fent leírt módon. Fontos megjegyzés, hogy lehet, hogy a titkosítás előtt szükség van a titkosítatlan szöveg végére "néhány" - karaktert fűzni, hogy a titkosítás mindig a legfelső sorban érjen véget. A feladat során a lehető legkevesebb számú - karakter legyen hozzáfűzve a szöveg végére.

Megkötések

  • n legfeljebb 100
  • t hossza legfeljebb 1000
  • t az angol ABC kisbetűit tartalmazza

Példa

Input:
  1. 3
  2. appleisdelicious
letöltés szöveges állományként Output:
  1. aeei-plidlcospsiu
letöltés szöveges állományként

Magyarázat

  1. a   e   e   i   -
  2.  p l i d l c o s 
  3.   p   s   i   u  
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30.