:-op(500, xfx, [--]). szerokosc(D,S):- szerokosc([D,koniecPoziomu|X]--X,0,0,S). szerokosc([koniecPoziomu|L]--_,A,Max,S):- var(L), !, max(A,Max,S). szerokosc([koniecPoziomu|L]--[koniecPoziomu|Y],A,Max,S):- !, max(A,Max,Max2), szerokosc(L--Y, 0, Max2,S). szerokosc([[Glowa|Ogon]|L]--[Glowa|Y], A, Max, S):- szerokosc([Ogon|L]--Y, A, Max, S). szerokosc([[]|L]--X, A, Max, S):- A2 is A+1, szerokosc(L--X, A2, Max, S). max(X,Y,X):- X>=Y. max(X,Y,Y):- X=