Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- getGowno([]) -> [];
- getGowno([H]) -> [H];
- getGowno([H|Chuj]) -> Paths = lists:map(fun(X) -> deepMerge(H, getGowno(X)) end, Chuj), chooseLongest(Paths);
- getGowno(_) -> [].
- deepMerge(_, []) -> [];
- deepMerge(X, [[H|T]|C]) -> [[X,H] ++ T] ++ deepMerge(X, C);
- deepMerge(X, [H|T]) -> [X,H] ++ T.
- chooseLongest([]) -> [];
- chooseLongest([[H|T]|T2]) -> RestOfList = chooseLongest(T2),
- Length1 = deepLength([H|T]),
- Length2 = deepLength(RestOfList),
- if (Length1 > Length2) -> [H] ++ T;
- (Length1 == Length2) -> [[H] ++ T] ++ [RestOfList];
- true -> RestOfList end;
- chooseLongest([H|T]) -> [H|T].
- deepLength([[H|T]|C]) -> getLonger(deepLength([H|T]), deepLength(C));
- deepLength([H|T]) -> length([H|T]);
- deepLength([]) -> 0;
- deepLength(_) -> 1.
- getLonger(X,Y) when X >= Y -> X;
- getLonger(_,Y) -> Y.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement