Fișierul intrare/ieșire | plimbare.in, plimbare.out | Sursă | ad-hoc |
---|---|---|---|
Autor | Cristian Frâncu | Adăugată de | Cristian Frâncu • francu |
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
Plimbare digitală (clasele 7 - 8)
Digidroid iese la plimbare pe axa numerelor naturale. El pornește din zero. Își fixează un număr n, natural, în minte și o țintă între 1 și 2n-1. Apoi face n salturi pe axă de mărime 2k. Un salt se poate face înainte, către sensul pozitiv al axei, sau înapoi, către sensul negativ al axei. El trebuie sa facă n salturi, folosind toate puterile lui 2 de la 20 la 2^n-1^, fiecare o singură dată, în orice ordine alege el.
Cerință
Dîndu-se n și numărul țintă, să se afișeze o posiblitate de plimbare a lui Digidroid.
Date de intrare
Pe prima linie a fișierului de intrare plimbare.in se află numărul n. Pe a doua linie se află ținta lui Digidroid, un număr între 1 și 2n-1.
Date de ieșire
Fișierul plimbare.out va conține n linii, fiecare linie corespunzînd unui salt. Fiecare linie va conține un număr k, corespunzător marimii saltului 2k, apoi un spațiu și caracterul + dacă saltul este pozitiv, sau – dacă saltul este negativ. În caz că nu există o plimbare care să ducă la țintă fișierul plimbare.out va conține o singură linie pe care se va afișa 0.
Restricții
- 0 < n ≤ 24
- 0 < ținta < 2n
Exemple
plimbare.in | plimbare.out | Explicație |
---|---|---|
4 9 |
2 + 1 - 3 + 0 - |
Ținta este numărul 9. Digidroid face întîi un salt pozitiv de 4, apoi unul negativ de 2, apoi unul pozitiv de 8 și apoi unul negativ de 1, ajungînd la țintă. |
5 27 |
3 + 2 + 1 - 4 + 0 + |
Ținta este numărul 27. Digidroid face întîi un salt pozitiv de 8, apoi unul pozitiv de 4, apoi unul negativ de 2, apoi unul pozitiv de 16 și apoi unul pozitiv de 1, ajungînd la țintă. |