Probleme rezolvate 7
  1. Suma arbore
  2. Itoh
  3. Liste dublu inlantuite

Suma arbore

Fiind dat un arbore binar in ale carui noduri sunt numere intregi, trebuie verificat daca exista vreun drum de la radacina la vreo frunza astfel suma nodurilor sa fie un numar intreg dat. De exemplu in arbore de mai jos, exista avem patru drumuri de la radacina spre frunze ale caror valori sunt 27, 22, 26 si 18.

picture25

Arborii binari sunt dati sub forma urmatoare (S-expresii Lisp) :


arbore vid::=()

tree::=arbore vid (integer tree tree)

Arbore anterior se pune sub forma: (5 (4 (11 (7 () ()) (2 () ()) ) ()) (8 (13 () ()) (4 () (1 () ()) ) ) )

Sa observam ca orice frunza are forma (integer () () ).

Deoarece un arbore vid nu are nici un drum de la radacina la vreo frunza, orice problema daca exista vreun drum de o anumita valoare primeste un raspuns negativ.

Pentru o intrare in forma numar intreg urmat de o S-expresie terbuie sa se raspunda cu "da" sau "nu" in functie de existenta drunului cautat.

Input :

22 (5(4(11(7()())(2()()))()) (8(13()())(4()(1()()))))
20 (5(4(11(7()())(2()()))()) (8(13()())(4()(1()()))))
10 (3 
     (2 (4 () () )
        (8 () () ) )
     (1 (6 () () )
        (4 () () ) ) )
5 ()

Output :

da
nu
da
nu

Rez

Codul problemei 1


Itoh

Sa se scrie un program care sa afiseze reprezentarea in hexa a unui numar intreg.


Rez

Codul problemei 2


Liste dublu inlantuite

Sa se scrie un program care sa implementeze o lista dublu inlantuita.


Rez

Codul problemei 3


Previous |