.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » galax

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
galax


Timp maxim de execuţie / test:
0.5s
Memorie totala disponibilă / stivă:
15MB / 1MB

Într-un viitor mai mult sau mai puţin apropiat, oamenii vor popula n galaxii, numerotate de la 1 la n. Datorită dezvoltării tehnologiei de transport spaţial este posibil ca din oricare galaxie să se ajungă printr-un zbor în oricare altă galaxie. Fiecare pereche de galaxii defineşte astfel un zbor care poate fi parcurs în orice sens.
La un moment dat se ia hotărârea ca (n+1) div 2 companii de transport să asigure libera circulaţie a oamenilor între galaxiile existente. Companiile sunt numerotate de la 1 la (n+1) div 2. Fiecărei companii x i se va atribui o mulţime de zboruri Zx. Notăm cu Gx mulţimea galaxiilor deservite de compania x prin zborurile din mulţimea Zx. Zborurile vor fi distribuite conform următoarelor reguli:
1) prin zborurile din Zx, compania x poate transporta oameni între oricare două galaxii din Gx, (fie direct, fie trecând prin alte galaxii din Gx);
2) pentru oricare două galaxii din Gx, modul în care compania x transportă călătorii de la o galaxie la cealaltă este unic;
3) fiecare zbor trebuie să fie atribuit exact unei singure companii.

Cerinţă

Scrieţi un program care să determine o modalitate de atribuire a zborurilor celor (n+1) div 2 companii în conformitate cu regulile enunţate mai sus.

Date de intrare

Fişierul de intrare galax.in conţine o singură linie pe care va fi scris un număr natural n, reprezentând numărul de galaxii.

Date de ieşire

Fişierul de ieşire galax.out va conţine câte o linie pentru fiecare pereche de galaxii. Pe această linie vor fi scrise 3 numere naturale a b c, cu semnificaţia “zborul dintre galaxiile a şi b este atribuit companiei c”.

Restricţii

3<n<1001
a div b este câtul împărţirii întregi a lui a la b.

Exemple

galax.ingalax.outExplicaţii
4 1 4 1 1 2 2 4 3 1 3 1 2 3 2 1 2 4 2

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


propunător: Prof. Marinel Şerban
Liceul de Informatică “Grigore Moisil”
marinel_serban@yahoo.com
Articole recomandate
Probleme recomandate
surse trimise | ajutor