Clasa a IX-a
Ziua 1
Problema 3

Codificare

Pentru transmiterea unor texte codificate se folosesc literele din configuratia de mai jos:


In acesta configuratie se formeaza cinci patrate pe care le vom numerota cu 1 patratul de sus, 2 patratul din stanga, 3 patratul din mijloc, 4 patratul din dreapta, respectiv 5 patratul de jos. Pentru patratele configuratiei se stabileste o ordine si un sens de rotire al fiecaruia.
Codificarea unui text se face prin codificarea fiecarui caracter in parte, in ordinea in care apar in text, astfel:
- Inainte de codificarea fiecarui caracter, caracterele fiecarui patrat din configuratia anteriora se rotesc, in ordinea si sensurile precizate, cu o pozitie. Initial se porneste de la configuratia data.
- Ulterior, pentru codificarea unui caracter se va folosi configuratia rezultata dupa codificarea caracterului anterior.
- Unui caracter din configuratia initiala prin codificare ii va corespunde caracterul de pe aceeasi pozitie din configuratia finala.
Pentru un text, care contine cel mult 500 de caractere existente in configuratia data, se cere sa se obtina codificarea acestuia.

Intrare:
In fisierul COD.IN, care contine 3 linii, se dau:
p1 p2 p3 p4 p5 - numerele asociate patratelor in ordinea rotirii lor
s1 s2 s3 s4 s5 - sensul de rotire al caracterelor in p1,p2,p3,p4,p5 (1 -rotire spre dreapta, 0 -rotire spre stanga)
textul - secventa de caractere ce urmeaza a fi codificata

Iesire:
Fisierul COD.OUT va contine pe o singura linie textul codificat.

Exemplu
Fisierul COD.IN
1 2 4 5 3
1 1 0 1 1
CcfuA

Fisierul COD.OUT
Bafta

Punctaj: 35 puncte.
Timp de rulare pentru un test: 2 secunde.