Diferențe pentru problema/spioni între reviziile #3 si #24

Diferențe între titluri:

spioni
Spioni (baraj gimnaziu)

Diferențe între conținut:

Gigel si Ionel se joacă de-a spionii! De aceea ei imaginează o modalitate de a codifica un mesaj astfel încât nimeni să nu îl poată descifra. Toate mesajele lor au lungimea o putere a lui 2. Ei numerotează literele mesajului începând cu 1. Apoi separă literele în două categorii: cele cu număr de ordine impar în stânga, cele cu numar de ordine par în dreapta, păstrând ordinea lor. Procedeul continuă pentru fiecare grupă nou rezultată începând cu cea din stânga, până când fiecare grupă obținută conține un singur caracter. După terminarea operațiilor alipesc grupele de câte o literă rezultate, începând de la stânga spre dreapta și obțin mesajul codificat.
De exemplu pentru mesajul MESAJNECODIFICAT procedează astfel:
 
1. numerotează
    MESAJNECODIFICAT
    123456789...
2. separă până se obține un singur caracter în fiecare grupă și alipind literele de la stânga spre dreapta rezultă mesajul codificat:
    MOJISIEAEDNCAFCT
$[*MESAJNECODIFICAT*]$
$[*123456789...*]$
 
2. separă
 
$MSJEOIIA                   EANCDFCT$         apoi repetă pașii 1 și 2 pentru
$12345678                   12345678$         fiecare grupă rezultată
 
$MJOI SEIA                  ENDC ACFT$
$1234 1234                  1234 1234$
 
$MO JI       SI EA          ED NC       AF CT$
$12 12       12 12          12 12       12 12$
 
$M O   J I   S I   E A      E D   N C   A F   C T$
$1 2   1 2   1 2   1 2      1 2   1 2   1 2   1 2$
 
până se obține un singur caracter în fiecare grupă și alipind literele de la stânga spre dreapta rezultă mesajul codificat:
 
$[*MOJISIEAEDNCAFCT*]$
 
h2. Cerință
Cerință
Scrieți un program care să rezolve următoarele două cerințe:
1.dat fiind un mesaj, să determine codificarea acestuia;
2.dat fiind un mesaj codificat, să determine decodificarea acestuia.
 
# dat fiind un mesaj, să determine codificarea acestuia;
# dat fiind un mesaj codificat, să determine decodificarea acestuia.
h2. Date de intrare
h2. Restricții
*Șirul de caractere din fișierul de intrare conține caractere având coduri ASCII cuprinse între 33 și 127, lungimea șirului fiind o putere a lui 2 cuprinsă între 2 și 4096.
*Pentru teste valorând 50% din punctaj fișierul de intrare conține pe prima linie C.
* Șirul de caractere din fișierul de intrare conține caractere având coduri ASCII cuprinse între 33 și 127, lungimea șirului fiind o putere a lui 2 cuprinsă între 2 și 4096.
* Pentru teste valorând 50% din punctaj fișierul de intrare conține pe prima linie C.
h2. Exemplu
table(example).
table(example).
|_. spioni.in |_. spioni.out |_. spioni.in |_. spioni.out |
| C
MESAJNECODIFICAT

Nu există diferențe între securitate.