Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :- use_module(library(clpfd)).
- /*uniquement utilisé pour transpose*/
- compte(_,[],0):-!.
- compte(E,[E|L],C) :-compte(E,L,R),!,C is R+1.
- compte(E,[_|L],C) :-compte(E,L,C).
- new_check(L):-nth0(0,L,X1),nth0(1,L,X2),nth0(2,L,X3),nth0(3,L,X4),nth0(4,L,X5),nth0(5,L,X6),
- (compte(b,L,3),compte(w,L,3);compte(w,L,3),compte(b,L,3)),
- ((X1=b,X2=w);(X2=w,X1=b,X3=b);(X3=w,X2=b,X4=b);(X4=w,X3=b,X5=b);(X5=w,X4=b,X6=b),(X6=w,X5=b);
- (X1=w,X2=b);(X2=b,X1=w,X3=w);(X3=b,X2=w,X4=w);(X4=b,X3=w,X5=w);(X5=b,X4=w,X6=w),(X6=b,X5=w)),!;
- ((X2==w,X3==w,X4==b,X1==b);(X3==w,X4==w,X5==b,X2==b);
- (X4==w,X5==w,X3==b,X6==b);(X5==w,X6==w,X4==b),
- (X1=b,X2=b,X3==w);(X2==b,X3==b,X4==w,X1==w);(X3==b,X4==b,X5==w,X2==w);
- (X4==b,X5==b,X3==w,X6==w);(X5==b,X6==b,X4==w);(X1=w,X2=w,X3==b)),!;
- ((X1\=b,X2\=b,X3\=b);(X2\=b,X3\=b,X4\=b);(X3\=b,X4\=b,X5\=b);(X4\=b,X5\=b,X6\=b)),
- ((X1\=w,X2\=w,X3\=w);(X2\=w,X3\=w,X4\=w);(X3\=w,X4\=w,X5\=w);(X4\=w,X5\=w,X6\=w)).
- binairo(L):-
- L=[L1|_],L=[_,L2|_],L=[_,_,L3|_],
- L=[_,_,_,L4|_],L=[_,_,_,_,L5|_],L=[_,_,_,_,_,L6],
- new_check(L1),new_check(L2),new_check(L3),
- new_check(L4),new_check(L5),new_check(L6).
- transpose(L,C),
- new_check(C1),new_check(C2),new_check(C3),
- C=[C1|_],C=[_,C2|_],C=[_,_,C3|_],
- C=[_,_,_,C4|_],C=[_,_,_,_,C5|_],C=[_,_,_,_,_,C6],
- new_check(C4),new_check(C5),new_check(C6).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement