Fișierul intrare/ieșire agent.in, agent.out Sursă Olimpiada locala 2015, Clasa a 6-a
Autor Valiana-Felicia Petrișor Adăugată de avatar Marcela Marcela Marcela
Timp de execuție pe test 0.1 sec Limită de memorie 2048 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip emptystea de rating de tip emptystea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Agent 007 (clasa a 6-a)

Agentul 007 (James Bond) se îndreaptă spre Gara Victoria din Londra, unde trebuie să întâlnească un alt agent (Morrison) pe care însă nu-l cunoaște. Pentru verificarea identității, regulamentul prevede că cei doi agenți trebuie să facă un schimb succesiv de mesaje folosind smartphone-urile. Mesajele vor fi postate pe pagina de socializare a Gării Victoria din Londra, conținutul fiecărui mesaj depinzând de mesajul anterior.

Astfel, fiecare agent citește mesajul primit, îl transformă folosind un anumit algoritm cunoscut numai de cei doi agenți secreți și îl trimite înapoi către celălalt agent.
Cei doi agenți știu că numărul total de mesaje schimbate între ei trebuie să fie egal cu numărul n, care este dat de ora indicată de ceasul electronic al gării (în format european de 24 de ore), valoarea maximă fiind 23.

Succesiunea de mesaje a decurs astfel:
J. Bond: 1 ........................ Morrison: 11
J. Bond: 21 ....................... Morrison: 1211
J. Bond: 111221 ................... Morrison: 312211
J. Bond: 13112221 ................. Morrison: 1113213211

Cerință

Să se determine al _n_-lea termen al șirului construit astfel încât fiecare element al lui, cu excepția primului, se obține din cel precedent: 1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, 31131211131221, 13211311123113112211,...

Regula de generare a termenilor este următoarea:
- se numără de la stânga la dreapta numărul de apariții, pe poziții consecutive, ale fiecărei cifre în termenul precedent;
- în termenul nou se trece, pentru fiecare cifră, numărul de apariții consecutive, urmat de cifră.

Date de intrare

Fișierul de intrare agent.in conține pe prima linie numărul natural n.

Date de ieșire

În fișierul de ieșire agent.out va conține al _n_-lea termen al șirului.

Restricții

  • 2 ≤ n ≤ 23;
  • termenul șirului de pe poziția 23 are exact 678 de cifre.

Exemplu

agent.in agent.out Explicații
3
21
Numărul 21 se obține din numărul precedent 11. Cifra 1 apare de 2 ori
în numărul 11, deci se scrie 2 (numărul de apariții) urmat de cifra 1.
9
31131211131221
31131211131221 se obține din numarul precedent 1113213211,
astfel 111 3 2 1 3 2 11
31 13 12 11 13 12 21
(numărul de apariții consecutive ale cifrei 1)

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 3 categorii