Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2015-08-05 08:30:47.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:dubi.in, dubi.outSursăJunior Challenge 2015
AutorAndrei Constantinescu, Costin OncescuAdăugată deJuniorChallenge2015JuniorChallenge2016 JuniorChallenge2015
Timp execuţie pe test0.25 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Funcţia Dubioasă

Chappie, robotelul, a primit o sarcina noua de la tatal sau, Ninja, care tocmai a asediat o tara cu N orase numerotate de la 1 la N, si anume, impartirea acestora in mai multe judete. Ninja doreste o impartire in numar minim de judete astfel incat oricare doua orase dintr-un judet sa aiba un drum direct intre ele. In impartirea sa, Chappie trebuie sa atribuie fiecarui oras exact un judet din care face parte.

Unchiul sau, Amerika, este responsabil de construirea drumurilor. Acesta construieste un drum direct intre orasele numerotate X si Y daca si numai daca X xor Y >= min (X, Y) si X xor Y <= max (X, Y) (cu alte cuvinte, daca numarul X xor Y se afla intre X si Y).

Si asta nu e tot! Yo-Landi, mama lui Chappie, pentru a putea retine mai usor configuratia judetelor, va cere o astfel de impartire, care este de asemenea minim lexicografica.
Cum Chappie nu este prea capabil si totusi vrea sa isi ajute rudele, el va cere ajutorul in schimbul caruia va va recompensa cu puncte. Totusi, Chappie este un robotel rezonabil si intelege ca s-ar putea sa va fie greu sa respectati si conditia lui Yo-Landi, asa ca veti primi 70% din punctaj in cazul in care configuratia judetelor nu este minima lexicografic. In cazul in care atat conditia lui Ninja, cat si cea a lui Yo-Landi, sunt indeplinite, veti primi, evident 100% din punctaj

Date de intrare

Fişierul de intrare dubi.in contine pe prima linie numarul N de orase.

Date de ieşire

În fişierul de ieşire dubi.out se va afisa pe prima linie numarul de K judete din impartire. Liniile de la 2 la K + 1 vor reprezenta descrierea fiecarui judete in parte, astfel: pe linia i + 1, se afiseaza mai intai numarul de orase din judetul i si apoi orasele in ordine crescatoare, separate prin cate un spatiu.

Restricţii

  • 1 ≤ N ≤ 200000
  • Pentru teste in valoare de 20% din punctaj, 1 ≤ N ≤ 20

Exemplu

dubi.indubi.out
4
3
2 1 3
1 2
1 4

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?