Edit this page Backlinks This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. Fie un graf orientat în care fiecare nod are o culoare. Graful este reprezentat în Prolog printr-o listă ce conține doua elemente [C, E]: * C: o listă de liste [n, c] cu semnificația că nodul n are culoarea c * E: o listă de liste [n1, n2] cu semnificația că există o muchie de la nodul n1 la nodul n2 Exemplu: G = [ [ [1,galben], [2,rosu], [3,albastru], [4,verde], [5,rosu], [6,albastru], [7,rosu], [8,galben], [9,albastru], [10,mov] ], [ [1,2],[1,3],[2,6],[3,2],[3,4],[4,5],[5,6],[5,7],[5,8], [6,4],[6,5],[6,7],[7,8],[8,5],[8,9],[8,10],[9,10] ] ]. ==== Exerciții ==== - Scrieți un predicat getColors care construiește o listă cu toate culorile nodurilor - Scrieți un predicat getInEdges care construiește o listă cu toate elementele e din E de tipul (_, X) pentru un X anume - Scrieți un predicat getOutEdges care construiește o listă cu toate elementele e din E de tipul (X, _) pentru un X anume - Scrieți un predicat getUniqueColors (același lucru ca getColors dar fără duplicate) - Scrieți un predicat getNeighbors ce se folosește de predicatele getInEdges și getOutEdges pentru a construi o listă cu nodurile legate de un nod X - Scrieți un predicat getPathsOfLength3 care construiește toate drumurile de lungime 3 ce pleacă dintr-un nod X. Valoarea cu care va unifica rezultatul va fi o listă [X, _, _]