Fişierul intrare/ieşire: | plimbare.in, plimbare.out | Sursă | ad-hoc |
Autor | Cristian Francu | Adăugată de | |
Timp execuţie pe test | 0.1 sec | Limită de memorie | 2048 kbytes |
Scorul tău | N/A | Dificultate |
Vezi solutiile 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 2n-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ă. |