Найти все самые длинные пробеги в поиске в прологе - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь вернуть все серии сыгранных карт в максимально длинную длину.У меня есть рука (список), карта сверху колоды сброса, и мне нужно найти все возможные серии карт и вернуть все серии как можно более длинных.nextCard находит следующую играбельную карту.

longestRun([],Disc,[]).
longestRun(Hand,[Hd|T],FinalRuns):-
   search(Hd,Hand,Run),
   reverse([Hd|Run],FinalRuns).

search(Disc,Hand,Path):-
   nextCard(Hand,Disc,Next),
   removeCard(Hand,Next,Nhand),
   search(Next,Nhand,Rest),
   Path = [Next|Rest].
search(_,_,[]).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...