Je souhaite ecrire un predicat solution ligne(Num,Arg2,Arg3,Arg4,Arg5,Taille) où
Num est le numero de la ligne,
Arg2 la liste des couples (cases) deja contruits,
Arg3 la solution cherchee,
Arg4 la colonne a laquelle on est arrive,
Arg5 les contraintes restantes,
Arg6, la taille du nonogramme.
tel que solution ligne(Num,[],S,1,LC,Taille) avec LC et Taille donnés, donne en resultats les différentes listes de couples de points correspondant aux contraintes LC.
Dans l'exemple ci-dessous, on obtient toutes les solutions possibles pour satisfaire la contrainte [2;1] sur la ligne 2 de longueur 6.
?- solution_ligne(2,[],S,1,[2,1],6).
S = [ (2, 1), (2, 2), (2, 4)] ;
S = [ (2, 1), (2, 2), (2, 5)] ;
S = [ (2, 1), (2, 2), (2, 6)] ;
S = [ (2, 2), (2, 3), (2, 5)] ;
S = [ (2, 2), (2, 3), (2, 6)] ;
S = [ (2, 3), (2, 4), (2, 6)] ;
false.
Quelqu'un a t'il une idée sachant que des predicats annexes sont nécessités?
Partager