comoara

Time limit: 0.1s Memory limit: 4MB Input: comoara.in Output: comoara.out

Până acum, pentru a găsi o comoară, un căutător trebuia sa treacă de diferite teste: trebuie să scape de bolovani uriaşi, de balauri, de săgeţi otrăvite. Comoara din insula piraţilor este mai specială, deoarece căpitanul care a ascuns-o a dorit să se asigure ca doar cineva care este perspicace va reuşi să ajungă la ea. Astfel, el a introdus o ultimă probă de perspicacitate, care se găseşte chiar în faţa intrării la comoară. Această ultimă probă este proba vaselor.
Căutătorii au la dispoziţie trei vase. Vasul 11 are capacitatea AA, vasul 22 are capacitatea BB, iar vasul 33 are capacitatea CC. Capacităţile celor vase îndeplinesc relaţiile: A<B<CA<B<C şi A+B=CA+B=C.
La începutul probei, CC este întotdeauna plin, iar AA şi BB goale. Pentru a trece cu succes de această probă şi a ajunge la comoară, căutătorii trebuie să facă în aşa fel încât să rămână în oricare dintre vase MM litri de apă.
Pentru aceasta ei pot efectua una sau mai multe mutări. O mutare din vasul xx în vasul yy constă din turnarea conţinutului vasului xx în vasul yy până când vasul xx se goleşte sau vasul yy se umple.

Cerinţă

Ajutaţi căutătorii de comori să treacă de ultima probă şi ei vă vor da o parte din comoara găsită.

Date de intrare

Fişierul de intrare comoara.in are două linii. Pe prima linie se află 33 numere naturale separate prin câte un spaţu A B CA \ B \ C, având semnificaţia din enunţ. Pe a doua linie se găseşte un număr natural MM reprezentând numărul de litri de apă ce trebuie să rămână într-un vas pentru a trece proba.

Date de ieşire

Fişierul de ieşire comoara.out va conţine pe prima linie un număr natural NN, reprezentând numărul de mutări efectuate.
Pe următoarele NN linii vor fi descrise cele NN mutări, câte o mutare pe o linie. O mutare va fi descrisă ca o pereche x yx \ y de numere distincte din mulţimea {1,2,3}\{ 1, 2, 3 \}, cu semnificaţia se toarnă apă din vasul xx în vasul yy.

Restricții și precizări

  • 0<A,B,C<100 0010 < A, B, C < 100 \ 001
  • numărul de mutări nu trebuie să fie minim însă el nu trebuie să depăşească 200 000200 \ 000
  • testele folosite vor avea soluţie
  • nu se acordă punctaje parţiale

Exemplu

comoara.in

3 5 8
4 

comoara.out

6
3 2
2 3
1 3
2 3
3 2
2 1

Explicație

În cele 33 vase rămân următoarele cantităţi:
0 5 30 \ 5 \ 3, 3 2 33 \ 2 \ 3, 0 2 60 \ 2 \ 6, 2 0 62 \ 0 \ 6, 2 5 12 \ 5 \ 1, 3 4 13 \ 4 \ 1.

Log in or sign up to be able to send submissions!