Motto: "Traiesc in numele pasarilor,
        dar mai ales in numele zborului.
        Cred ca am aripi,dar ele
        nu se vad.Totul pentru zbor.
        Totul,
        pentru a rezema ceea ce se afla
        de ceea ce va fi."
                                            Nichita Stanescu
                                             (1933 - 1983)




                  COMUNICATII   - 30 puncte
                  ^^^^^^^^^^^



     Intr-un masiv muntos exista N cabane si M varfuri;
     N <= 50 si M <= 200.
     De la fiecare cabana, respectiv de pe fiecare varf, pot fi vazute
doar anumite cabane si anumite varfuri.
     Pentru noptile cu cer senin se doreste instalarea unui sistem de
comunicare prin semnale luminoase, astfel incat mesajul pornit de la o cabana
sa ajunga la toate celelalte cabane. Cum intre anumite cabane vizibilitatea
este obturata de unul sau mai multe varfuri, s-ar putea sa fie nevoie de
instalarea unor posturi permanente pe unele varfuri pentru a asigura
transmiterea mesajelor.
     Determinati numarul minim de varfuri pe care este necesara instalarea
                 ^^^^^^^^^^^^^^^^^^^^^^^^
de posturi.


Cerinte:
^^^^^^^

Fisierul de intrare, CABANE.IN, are structura:

n m                        // reprezentand numarul de cabane si respectiv,
                              numarul de varfuri;

c     c    ... c
 1 1   1 2      1 k1       // pe urmatoarele n linii sunt cabanele vizibile
c     c    ... c              pentru fiecare cabana, separate prin cate un
 2 1   2 2      2 k2          spatiu;
.....
c     c    ... c
 n 1   n 2      n kn

v     v    ... v           // pe urmatorele n linii sunt trecute varfurile
 1 1   1 2      1 i1          vizibile pentru fiecare cabana;
v     v    ... v
 2 1   2 2      2 i2
......
v     v    ... v
 n 1   n 2      n in

vf    vf    ... vf         // pe urmatoarele m linii sunt varfurile vizibile
 1 1    1 2       1 j1        pentru fiecare varf;
vf    vf    ... vf
 2 1    2 2       2 j2
.......
vf    vf    ... vf
  m 1   m 2       m jm

Daca de la o cabana sau de la un varf nu se vad alte cabane sau varfuri
linia corespunzatoare va fi vida.


Fisierul de iesire, CABANE.OUT, are structura:

min           // numarul minim de varfuri alese;
v             // pe urmatoarele min linii se vor scrie varfurile alese,
 1               fiecare pe o linie.
v
 2
..
v
 min


Exemplu:
^^^^^^^

CABANE.IN                           CABANE.OUT
4 5                                 1
2                                   2
1


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


Observatii:
^^^^^^^^^^
Datele de intrare se presupun corecte.
Timp maxim de executie 7 sec/test, pentru 586/133MHz.




                                Prof. Cleopatra Pau
                                    Timisoara






                   B A Z E ...   - 25 puncte
                   ^^^^^^^



      In marele templu al inteleptului BYTE, exista o neintelegere intre
doi invatacei. Invatacelul X a dat un numar, scris cu cifre de la 0 la 9
si cu literele de la A la Z, intr-o baza oarecare cuprinsa intre 2 si 36.
Cel de-al doilea invatacel, Y, i-a dat un alt numar, realizat in aceleasi
conditii spunandu-i ca este egal cu primul.
Galceava a ajuns la urechile inteleptului care dupa un moment de cugetare
a decis ca Y are dreptate, chiar daca cele doua numere erau in baze diferite.


Cerinte:
^^^^^^^
Fisierul de intrare BYTE.IN are structura:

x y            // unde pe o linie apar cele doua numere date de
                  invatacei (posibil in baze diferite);


Fisierul de iesire BYTE.OUT are structura:

x(baza1)=y(baza2)    // unde baza1,respectiv baza2 reprezinta cea mai mica
                        baza pentru x respectiv y, in care se realizeaza
                        egalitatea ( baza1 poate fi diferita de baza2);


                                           sau

x<>y                   // daca nu exista nici o baza cuprinsa intre 2 si 36
                          in care sa se realizeze egalitatea



Exemple:
^^^^^^^
BYTE.IN:                              BYTE.OUT:

12 5                                  12(3)=5(6)
10 A                                  10(10)=A(11)
123 456                               123<>456
10 2                                  10(2)=2(3)


Observatie:
^^^^^^^^^^^
Numerele pot avea 15 cifre.
Timpul maxim de executie este: 0.5 sec/test, pentru 586/133MHz.




                             Prof. Maria & Adrian Nita
                           Liceul Teoretic "Emanuil Gojdu"
                                    Oradea





                         RADICALI  - 20 puncte
                         ^^^^^^^^


   Se cere sa se extraga radacina de ordinul n dintr-un numar format din
cel mult 1000 de cifre ( N <= 12).

Cerinte:
^^^^^^^
Datele de intrare se citesc din fisierul RADICAL.IN, cu structura:

n x           // unde n este indicele radicalului iar x este numarul
                 pentru care se cere radacina;

Datele de iesire se scriu in fisierul RADICAL.OUT, cu structura:

y             // unde y este radacina ceruta;
                 daca y este un numar real atunci se cer patru zecimale
                 obtinute prin rotunjire;


Exemplu:
^^^^^^^
RADICAL.IN:                              RADICAL.OUT:

3 2097152                                128
6 2.985984                               1.2000


Timp maxim de executie 10 sec/test, pentru 586/133MHz.



                      Preluat de prof. Maria & Adrian Nita
                      din  Catalin Francu - probleme propuse
