stive

Time limit: 0.08s Memory limit: 4MB Input: stive.in Output: stive.out

Pe o masă se află NN stive (numerotate de la 11 la NN). Stiva ii conţine ii jetoane (1iN1 \leq i \leq N). 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 NN stive.

Date de intrare

Fişierul de intrare stive.in conţine pe prima linie numărul natural NN.

Date de ieșire

Fişierul de ieşire stive.out va conţine pe prima linie un număr natural MINMIN reprezentând minim de mutări efectuate. Pe următoarele MINMIN linii sunt descrise mutările, câte o mutare pe o linie. Linia ce descrie o mutare are forma: nrnr, s1s_1, s2s_2, \dots, snrs_{nr}, xx, unde nrnr reprezintă numărul de stive din mulţimea selectată la mutarea respectivă; s1s_1, s2s_2, \dots, snrs_{nr} sunt stivele selectate, iar xx reprezintă numărul de jetoane extrase din fiecare stivă s1s_1, s2s_2, \dots, snrs_{nr}. Valorile de pe aceeaşi linie sunt separate prin spaţii.

Restricții și precizări

  • 1N30 0001 \leq N \leq 30 \ 000

Exemplu

stive.in

3

stive.out

2
2 2 3 2
2 1 3 1

Explicație

Configuraţia iniţială a stivelor este 1,2,31, 2, 3.

La prima mutare sunt selectate 22 stive (22 şi 33) şi se extrag câte 22 jetoane din fiecare. Se obţine configuraţia: 1,0,11, 0, 1.

La ultima mutare se aleg stivele 11 şi 33, se extrage câte un singur jeton din fiecare şi astfel au fost golite toate stivele.

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