Advertisement
Guest User

Untitled

a guest
Apr 3rd, 2024
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. :- use_module(library(clpfd)).
  2. /*uniquement utilisé pour transpose*/
  3.  
  4. compte(_,[],0):-!.
  5. compte(E,[E|L],C) :-compte(E,L,R),!,C is R+1.
  6. compte(E,[_|L],C) :-compte(E,L,C).
  7.  
  8. 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),
  9. (compte(b,L,3),compte(w,L,3);compte(w,L,3),compte(b,L,3)),
  10. ((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);
  11. (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)),!;
  12. ((X2==w,X3==w,X4==b,X1==b);(X3==w,X4==w,X5==b,X2==b);
  13. (X4==w,X5==w,X3==b,X6==b);(X5==w,X6==w,X4==b),
  14. (X1=b,X2=b,X3==w);(X2==b,X3==b,X4==w,X1==w);(X3==b,X4==b,X5==w,X2==w);
  15. (X4==b,X5==b,X3==w,X6==w);(X5==b,X6==b,X4==w);(X1=w,X2=w,X3==b)),!;
  16. ((X1\=b,X2\=b,X3\=b);(X2\=b,X3\=b,X4\=b);(X3\=b,X4\=b,X5\=b);(X4\=b,X5\=b,X6\=b)),
  17. ((X1\=w,X2\=w,X3\=w);(X2\=w,X3\=w,X4\=w);(X3\=w,X4\=w,X5\=w);(X4\=w,X5\=w,X6\=w)).
  18.  
  19.  
  20. binairo(L):-
  21. L=[L1|_],L=[_,L2|_],L=[_,_,L3|_],
  22. L=[_,_,_,L4|_],L=[_,_,_,_,L5|_],L=[_,_,_,_,_,L6],
  23. new_check(L1),new_check(L2),new_check(L3),
  24. new_check(L4),new_check(L5),new_check(L6).
  25. transpose(L,C),
  26. new_check(C1),new_check(C2),new_check(C3),
  27. C=[C1|_],C=[_,C2|_],C=[_,_,C3|_],
  28. C=[_,_,_,C4|_],C=[_,_,_,_,C5|_],C=[_,_,_,_,_,C6],
  29. new_check(C4),new_check(C5),new_check(C6).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement