Cerința
Se dau dau două vase cu capacitatea A
, respectiv B
litri, iniţial goale. Se cere să se măsoare cu ajutorul lor C
litri de apă, având la dispoziţie următoarele operaţii:
- umplerea completă a unui vas (de la robinet). Operaţia se notează
R X
, undeX
poate fiA
sauB
. - golirea completă a unui vas (în chiuvetă). Operaţia se notează
X C
, undeX
poate fiA
sauB
. - mutarea dintr-un vas în celălalt. Mutarea din vasul
X
în vasulY
se încheie când se goleşte vasulX
sau când se umple vasulY
. Operaţia se noteazăX Y
, undeX
şiY
sunt diferite şi pot fiA
sauB
.
Să se determine o secvenţă de operaţii în urma cărora unul dintre vase să conţină C
litri de apă.
Date de intrare
Programul citește de la tastatură numerele A B C
.
Date de ieșire
Programul va afișa pe ecran numărul minim de operaţii n
, apoi cele n
operaţii, fiecare pe o linie. Operaţiile pot fi: R A, R B, A C, B C, A B, B A
, cu semnificaţia de mai sus.
Restricții și precizări
1 ≤ A , B , C ≤ 1000
- se garantează că pentru toate datele de test există soluţie
Exemplu:
Intrare
5 8 2
Ieșire
4 R A A B R A A B
Explicaţie
Vasul A
are capacitatea de 5
litri, iar vasul B
are capacitatea de 8
litri. Se cere să se măsoare 2
litri de apă.
Cele 4
operaţii sunt:
R A
– se umple vasulA
.A
conţine5
litri,B
conţine0
litriA B
– se mută apă din vasulA
înB
. Se va muta toată apa dinA
.A
conţine0
litri,B
conţine5
litriR A
– se umple vasulA
.A
conţine5
litri,B
conţine5
litriA B
– se mută apă din vasulA
înB
. Se vor muta3
litri de apă dinA
.A
conţine2
litri,B
conţine8
litri- vasul
A
conţine2
litri