Fişierul intrare/ieşire:timp.in, timp.outSursăStelele Informaticii 2003, clasele 9-10
AutorMarius AndreiAdăugată deastronomyAirinei Adrian astronomy
Timp execuţie pe test0.05 secLimită de memorie20096 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise | Statistici

Timp

Avem la dispozitie o clepsidra mai ciudata cu care trebuie sa masuram o anumita perioada de timp. Clepsidra este mai ciudata, prin faptul ca nu are doar doua compartimente unde se poate strange nisipul, ci trei. Clepsidra se sprijina pe doua dintre aceste compartimente, iar din al treilea se scurge nisipul in mod egal in celelalte. La inceput avem tot nisipul adunat intr-un singur compartiment, iar cu el putem masura, sa presupunem 16 minute, ca in figura 1a).

Pentru a masura 7 minute in unul dintre compartimente, putem roti clepsidra 120 grade in sensul acelor de ceasornic sau invers. Consideram ca rotatia spre dreapta se efectueaza in sensul acelor de ceasornic, iar rotatia spre stanga se efectueaza invers acelor de ceasornic. De exemplu, rotind spre dreapta, obtinem figura 1b), in care ambele compartimente contin nisip pentru a masura 8 minute. Rotim spre stanga si obtinem 4 si 12. Rotim spre dreapta si obtinem 14 si 2, dupa care rotim spre dreapta si obtinem 9 si 7. Astfel, am obtinut 7 intr-un compartiment si putem masura acest timp.

Cerinta

Scrieti un program care determina o serie de rotiri pentru a putea masura un interval de timp.

Date de intrare

Fisierul de intrare timp.in contine doua numere intregi N si K separate intre ele printr-un spatiu. N reprezinta timpul care poate fi masurat initial, tot nisipul aflandu-se in stanga jos (ca in exemplu). K reprezinta timpul pe care vrem sa-l obtinem intr-un compartiment. Nu conteaza in ce parte se afla nisipul cu care masuram timpul final.

Date de iesire

In fisierul timp.out se va scrie pe prima linie numarul de rotiri necesare pentru a obtine cantitatea ceruta de nisip. Pe urmatoarele linii se va scrie cate o valoare care reprezinta rotirile in ordinea in care au fost efectuate. Pentru o rotatie spre stanga se va scrie 0, iar pentru o rotatie spre dreapta 1.

Restrictii

  • 2 ≤ K ≤ N ≤ 200 000 000
  • solutia nu este unica si numarul de transformari nu trebuie sa fie minim
  • dupa o rotatie tot nisipul din partea de sus trebuie sa se scurga

Exemplu

timp.intimp.out
16 7
4
1
0
1
1
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content