Page 103 - REVISTA MATINF Nr. 5
P. 103

˘
            PROBLEME DE INFORMATICA PENTRU CONCURSURI                                                    103


                Exemplu

                            codtel.in                         codtel.out
                            valea                             0016


                Timp maxim de execut , ie: 0.1 secunde/test. Memorie total˘a disponibil˘a 2 MB.

                                                                                       Costel B˘alc˘au, Pites , ti

            I 68 (codificare). Pentru transmiterea unor texte codificate se folosesc literele din configurat , ia
            de mai jos:

















                                       Fig. 1: As , ezarea literelor pentru codificare
            ˆ
            In aceast˘a configurat , ie se formeaz˘a cinci p˘atrate pe care le vom numerota astfel: 1 p˘atratul de
            sus, 2 p˘atratul din stˆanga, 3 p˘atratul din mijloc, 4 p˘atratul din dreapta, respectiv 5 p˘atratul de
            jos. Pentru p˘atratele configurat , iei se stabiles , te o ordine s , i un sens de rotire al fiec˘aruia.
            Codificarea unui text se face prin codificarea fiec˘arui caracter ˆın parte, ˆın ordinea ˆın care apar
            ˆın text, astfel:
             ˆ
            - Inainte de codificarea fiec˘arui caracter, caracterele fiec˘arui p˘atrat din configurat , ia anterioar˘a se
            rotesc, ˆın ordinea s , i sensurile precizate, cu o pozit , ie. Init , ial se pornes , te de la configurat , ia dat˘a.
            - Ulterior, pentru codificarea unui caracter se va folosi configurat , ia rezultat˘a dup˘a codificarea
            caracterului anterior.
            - Prin codificare, unui caracter din configurat , ia init , ial˘a ˆıi va corespunde caracterul de pe aceeas , i
            pozit , ie din configurat , ia final˘a.
                Cerint , ˘a

                Pentru un text, care cont , ine cel mult 1000 de caractere existente ˆın configurat , ia dat˘a, se
            cere sa se obt , in˘a codificarea acestuia.

                Date de intrare
                Fis , ierul de intrare codificare.in cont , ine 3 linii:
            p1 p2 p3 p4 p5 - numerele asociate p˘atratelor ˆın ordinea rotirii lor
            s1 s2 s3 s4 s5 - sensul de rotire al caracterelor p1, p2, p3, p4, p5 (1 - rotire spre dreapta, 0 -
            rotire spre stˆanga)
            textul - secvent , a de caractere ce urmeaz˘a a fi codificat˘a
                Date de ies , ire

                Fis , ierul de ies , ire codificare.out va cont , ine pe o singur˘a linie textul codificat.

                Restrict , ii s , i preciz˘ari
                • Textul pentru codificare are maxim 1000 de caractere, aflate ˆın figura de mai sus
   98   99   100   101   102   103   104   105   106   107   108