Cifrul Skip
Gigel a găsit pe o foaie criptări ale unor cuvinte în cifrul Skip. Criptarea funcționează astfel:
Fie un cuvânt de lungimen
. Cuvântul îl vom impărti în două părti, prima parte de lungime [n/2]
, iar a doua parte de [(n+1)]/2
. Vom scrie prima literă din prima parte, prima literă din a doua parte, a 2-a
literă din prima parte, a 2-a
literă din a doua parte, a 3-a
literă din prima parte, a 3-a
literă din a doua parte … :
AMONG
->AOMNG
SUSPICIOUS
->SCUISOPUIS
SECRET
->SREECT
CIPHER
->CHIEPR
Criptarea unui text constă în criptarea succesivă a fiecărui cuvânt.
Cifrul Skip
Se dă un numar c
care poate fi doar 1
sau 2
și un text în care cuvintele sunt separate printr-un spațiu.
Pentru c=1
, textul reprezintă un mesaj necriptat și se cere să-l afișați în urma criptării.
Pentru c=2
, textul reprezintă un mesaj criptat și se cere să-l afișați în urma decriptării.
Date de intrare
Fișierul de intrare skip.in
citește un număr c
și un mesaj.
Date de ieșire
Fișierul de ieșire skip.out
va conține pe prima linie mesajul rezultat în urma operației cerute.
Restricții și precizări
1≤
lungimea mesajului≤1000000
Exemplul 1:
skip.in
1 THERE IS ONE IMPOSTOR AMONG US
skip.out
TEHRE IS ONE ISMTPOOR AOMNG US
Exemplul 2:
skip.in
2 TEHRE IS ONE ISMTPOOR AOMNG US
skip.out
THERE IS ONE IMPOSTOR AMONG US