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 |
|
Timp de execuție pe test | 0.1 sec | Limită de memorie | 2048 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
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) |