Pe o masă se află stive (numerotate de la la ). Stiva conţine jetoane (). La o mutare se poate alege o mulţime de stive şi se pot extrage din fiecare stivă care face parte din mulţimea aleasă acelaşi număr de jetoane.
Cerință
Să se determine o secvenţă cu număr minim de mutări care să golească toate cele stive.
Date de intrare
Fişierul de intrare stive.in
conţine pe prima linie numărul natural .
Date de ieșire
Fişierul de ieşire stive.out
va conţine pe prima linie un număr natural reprezentând minim de mutări efectuate. Pe următoarele linii sunt descrise mutările, câte o mutare pe o linie. Linia ce descrie o mutare are forma: , , , , , , unde reprezintă numărul de stive din mulţimea selectată la mutarea respectivă; , , , sunt stivele selectate, iar reprezintă numărul de jetoane extrase din fiecare stivă , , , . Valorile de pe aceeaşi linie sunt separate prin spaţii.
Restricții și precizări
Exemplu
stive.in
3
stive.out
2
2 2 3 2
2 1 3 1
Explicație
Configuraţia iniţială a stivelor este .
La prima mutare sunt selectate stive ( şi ) şi se extrag câte jetoane din fiecare. Se obţine configuraţia: .
La ultima mutare se aleg stivele şi , se extrage câte un singur jeton din fiecare şi astfel au fost golite toate stivele.