copii

Time limit: 0.2s Memory limit: 64MB Input: copii.in Output: copii.out

În Gheorgheni sunt N copii pasionaţi de fotbal, pe care o să îi numerotăm cu numere naturale de la 1 la N. Ei doresc să alcătuiască T1T_1 echipe, unde T1T_1 nu poate depăşi o valoare maximă K, astfel încât fiecare echipă va disputa câte un meci împotriva fiecăreia dintre celelelate T11T_1-1 echipe. Astfel, în această etapă au loc T1(T11)2\frac{T_1(T_1-1)}{2} meciuri.
După ce se termină toate aceste meciuri, copiii pot hotarî să se reîmpartă în T2T_2 (T2KT_2 ≤ K) echipe şi să dispute o nouă etapă de meciuri.
Scopul final este ca după terminarea tuturor etapelor, fiecare copil să fi avut cel puţin odată ca adversar pe fiecare dintre ceilalţi copii.

Cerinţă

Determinaţi numărul minim de etape care trebuie disputate astfel încât fiecare copil să fi avut ca adversar cel puţin o dată pe fiecare dintre ceilalţi copii.
De asemenea, afişaţi o modalitate de alcătuire a echipelor în fiecare dintre aceste etape.

Date de intrare

Fişierul copii.in conţine pe prima linie N şi K, reprezentând numărul de copii şi numărul maxim de echipe care pot fi alcătuite într-o rundă.

Date de ieşire

Pe prima linie a fişierului copii.out se va afişa numărul minim de runde, R. Pentru fiecare rundă i (1 ≤ i ≤ R) se va afişa: pe prima linie numărul de echipe TiT_i şi pe următoarele TiT_i linii se va afişa componenţa echipelor. A j-a dintre aceste linii (1jTi)(1 \le j \le T_i) va avea următorul format:
Kj Cj[1] Cj[2] ... Cj[K] K_j \ C_j[1] \ C_j[2] \ ... \ C_j[K]
unde K reprezintă numărul de copii din echipa j, iar Cj[1],Cj[2],...,Cj[K]C_j[1], C_j[2], ..., C_j[K] reprezintă numerele asociate copiilor din echipa j.

Restricţii si precizări

  • 2 ≤ N ≤ 100 000
  • 1 < K ≤ N
  • Un copil nu poate face parte din două echipe în aceeaşi etapă.
  • Nu este obligatoriu ca echipele alcătuite într-o etapă să aibă acelaşi număr de copii.
  • Doi copii sunt adversari dacă fac parte din echipe diferite
  • Pentru 5% din teste K = N
  • Pentru 30% din teste K = 2
  • Pentru afişarea corectă a numărului de runde se acordă 20% din punctaj
  • La o anumită rundă pot exista copii care să nu facă parte din nicio echipă.

Exemplu

copii.in

5 3

copii.out

2
3
2 1 2
2 3 5
1 4
2
2 1 5
2 3 2	

Explicaţie

Sunt 5 copii care pot alcătui într-o etapă maxim 3 echipe
În prima etapă copiii alcătuiesc trei echipe: una formată din copiii numerotati cu 1 si 2, a doua formată din copiii cu numerele de ordine 3 şi 5 şi a treia formată dintr-un singur copil – cel numerotat cu 4.
În a doua etapă ei alcătuiesc două echipe: una formată din copiii numerotaţi cu 1 şi 5 iar cealaltă din doi copiii – cei cu numerele 2 şi 3.

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