Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | dubi.in, dubi.out | Sursă | Junior Challenge 2015 |
Autor | Andrei Constantinescu, Costin Oncescu | Adăugată de | |
Timp execuţie pe test | 0.25 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate | N/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 un judet din care face parte.
Unchiul sau, Amerika, este responsabil de construirea drumurilor. Acesta construieste un drum direct intre orasele numerotate X, respectiv, 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, cu numar minim de judete, 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, el 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 ...
Date de ieşire
În fişierul de ieşire dubi.out ...
Restricţii
- 1 ≤ N ≤ 200000
Exemplu
dubi.in | dubi.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...