Guest User

Untitled

a guest
Jan 10th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.80 KB | None | 0 0
  1. input([8, 9, 2, 1, 9, 5, 9, 6, 9, 9, 9, 1, 7, 3, 5, 8, 3, 7, 9, 1, 5, 2, 7, 3, 8, 6, 8, 7, 2, 9, 5, 4, 8, 6, 9, 4, 2, 3, 7, 9, 6, 7, 4, 9, 5, 1, 1, 5, 4, 1, 2, 3, 9, 9, 3, 7, 3, 1, 9, 4, 5, 6, 2, 5, 2, 6, 9, 4, 7, 5, 8, 5, 3, 3, 7, 2, 3, 3, 7, 9, 3, 5, 6, 8, 2, 7, 8, 2, 6, 5, 2, 7, 9, 1, 9, 9, 8, 8, 3, 1, 9, 7, 1, 6, 7, 6, 3, 4, 7, 9, 1, 2, 9, 3, 1, 7, 7, 9, 8, 6, 1, 5, 2, 5, 6, 6, 2, 3, 6, 7, 1, 8, 3, 3, 2, 6, 1, 7, 5, 3, 6, 4, 8, 7, 2, 3, 6, 8, 7, 9, 7, 4, 7, 1, 6, 7, 9, 9, 9, 9, 8, 3, 3, 6, 3, 8, 3, 2, 2, 5, 7, 9, 1, 2, 4, 4, 5, 7, 5, 6, 8, 8, 7, 3, 1, 4, 8, 7, 9, 2, 2, 9, 9, 2, 5, 8, 6, 4, 4, 7, 7, 7, 6, 1, 3, 5, 7, 1, 3, 9, 8, 5, 5, 5, 4, 8, 5, 2, 2, 5, 1, 3, 7, 9, 8, 8, 9, 9, 8, 5, 3, 8, 9, 6, 6, 1, 2, 3, 8, 7, 1, 4, 6, 6, 8, 7, 7, 1, 6, 2, 6, 4, 5, 9, 9, 9, 4, 3, 2, 8, 9, 4, 1, 6, 3, 2, 6, 7, 2, 7, 2, 5, 6, 5, 2, 5, 1, 7, 3, 9, 5, 3, 8, 6, 1, 5, 3, 4, 2, 4, 4, 9, 7, 9, 4, 6, 6, 5, 8, 7, 8, 9, 5, 4, 2, 9, 3, 9, 9, 1, 5, 9, 9, 2, 4, 9, 1, 6, 3, 6, 4, 4, 7, 6, 3, 1, 9, 5, 7, 3, 8, 9, 5, 5, 6, 6, 7, 9, 5, 3, 9, 3, 3, 6, 8, 4, 1, 1, 6, 7, 2, 3, 8, 7, 2, 6, 3, 6, 1, 5, 5, 8, 2, 1, 2, 8, 3, 7, 7, 6, 7, 6, 2, 9, 3, 6, 1, 2, 8, 9, 2, 7, 2, 3, 7, 6, 2, 2, 3, 7, 1, 9, 1, 1, 4, 6, 7, 1, 4, 2, 8, 6, 2, 3, 3, 5, 4, 3, 5, 1, 4, 4, 1, 1, 8, 1, 3, 3, 2, 3, 1, 9, 7, 9, 9, 5, 9, 5, 3, 8, 5, 4, 8, 7, 1, 6, 2, 8, 2, 2, 5, 3, 5, 8, 5, 4, 3, 5, 1, 4, 1, 5, 7, 8, 6, 7, 3, 7, 2, 2, 6, 5, 7, 1, 8, 7, 2, 4, 2, 7, 6, 9, 1, 1, 6, 9, 9, 5, 1, 4, 9, 7, 1, 4, 5, 8, 8, 4, 4, 8, 4, 9, 3, 4, 9, 7, 2, 6, 2, 7, 6, 3, 2, 9, 1, 3, 5, 1, 1, 8, 2, 4, 3, 1, 5, 5, 6, 9, 8, 2, 7, 1, 2, 1, 8, 8, 4, 4, 3, 4, 7, 3, 8, 7, 4, 5, 7, 3, 4, 3, 6, 5, 6, 4, 4, 6, 3, 8, 1, 7, 9, 9, 2, 9, 6, 8, 9, 3, 2, 2, 2, 2, 5, 6, 1, 9, 8, 4, 8, 4, 4, 6, 5, 8, 7, 3, 7, 1, 4, 3, 1, 1, 7, 7, 7, 9, 3, 7, 4, 2, 1, 1, 6, 1, 5, 8, 1, 7, 9, 8, 1, 8, 9, 5, 5, 4, 1, 4, 1, 4, 7, 4, 2, 3, 6, 2, 3, 9, 4, 4, 7, 6, 1, 2, 4, 2, 1, 8, 8, 3, 2, 3, 2, 1, 7, 3, 9, 1, 4, 1, 8, 3, 7, 3, 2, 1, 2, 6, 3, 3, 2, 8, 3, 8, 1, 9, 4, 6, 4, 8, 5, 8, 3, 4, 7, 2, 4, 1, 9, 1, 5, 4, 3, 6, 9, 9, 5, 2, 4, 7, 7, 4, 2, 2, 6, 6, 6, 3, 8, 9, 5, 1, 7, 5, 6, 9, 9, 4, 4, 4, 2, 8, 4, 6, 4, 6, 1, 7, 4, 5, 7, 1, 2, 4, 3, 6, 9, 3, 4, 9, 2, 4, 2, 4, 7, 9, 6, 1, 2, 4, 2, 2, 6, 7, 3, 2, 4, 1, 3, 6, 1, 7, 7, 7, 5, 7, 6, 4, 6, 6, 9, 4, 6, 6, 2, 2, 9, 3, 2, 2, 4, 3, 7, 2, 8, 5, 5, 1, 2, 7, 3, 2, 8, 4, 8, 3, 7, 9, 3, 4, 4, 9, 7, 5, 1, 1, 1, 1, 4, 3, 3, 4, 4, 2, 1, 4, 8, 6, 2, 6, 2, 2, 4, 4, 9, 8, 2, 9, 1, 4, 7, 3, 4, 4, 5, 2, 1, 1, 3, 9, 4, 6, 3, 6, 1, 2, 4, 5, 3, 7, 7, 3, 5, 1, 8, 4, 9, 8, 1, 5, 5, 8, 4, 8, 5, 5, 6, 9, 1, 7, 7, 8, 8, 9, 4, 7, 9, 8, 2, 1, 9, 8, 2, 2, 4, 6, 3, 2, 9, 8, 3, 8, 7, 7, 7, 1, 9, 2, 3, 3, 2, 9, 3, 3, 7, 6, 3, 4, 3, 9, 4, 6, 5, 4, 4, 3, 9, 4, 5, 8, 5, 6, 4, 2, 3, 3, 2, 5, 9, 4, 5, 1, 4, 5, 3, 3, 4, 5, 3, 1, 6, 7, 5, 3, 2, 4, 1, 4, 3, 8, 2, 6, 7, 7, 3, 9, 4, 3, 9, 2, 2, 5, 4, 9, 7, 5, 1, 5, 2, 7, 6, 5, 2, 2, 4, 2, 4, 4, 4, 1, 5, 3, 2, 4, 6, 2, 5, 4, 1, 5, 2, 8, 1, 9, 5, 7, 8, 2, 8, 1, 8, 3, 2, 6, 9, 1, 8, 5, 6, 2, 2, 4, 7, 2, 7, 8, 4, 9, 6, 4, 9, 5, 7, 6, 4, 4, 3, 5, 3, 8, 6, 6, 6, 7, 3, 8, 3, 5, 7, 7, 5, 4, 3, 3, 8, 5, 1, 8, 6, 8, 2, 7, 2, 6, 9, 7, 3, 2, 2, 6, 1, 2, 2, 3, 1, 5, 6, 8, 2, 4, 3, 5, 1, 1, 6, 4, 8, 4, 1, 6, 4, 8, 4, 2, 4, 5, 6, 4, 9, 2, 5, 1, 9, 8, 7, 8, 3, 6, 2, 5, 7, 2, 1, 3, 9, 6, 9, 8, 8, 9, 8, 4, 4, 8, 1, 5, 5, 8, 3, 9, 1, 8, 6, 6, 4, 8, 3, 9, 5, 5, 5, 3, 3, 9, 7, 2, 2, 1, 2, 1, 6, 4, 6, 9, 3, 8, 9, 8, 9, 5, 5, 4, 1, 2, 7, 1, 9, 1, 6, 1, 6, 4, 8, 4, 1, 1, 2, 7, 9, 1, 4, 9, 4, 1, 3, 4, 4, 3, 1, 9, 2, 8, 9, 6, 8, 6, 4, 2, 5, 8, 2, 1, 5, 4, 9, 8, 5, 4, 3, 8, 2, 7, 4, 5, 8, 4, 3, 8, 8, 7, 1, 3, 5, 5, 8, 7, 9, 3, 3, 6, 8, 9, 2, 7, 2, 1, 6, 7, 5, 9, 3, 7, 1, 1, 1, 9, 5, 2, 4, 7, 9, 1, 8, 3, 4, 9, 6, 9, 8, 2, 8, 2, 5, 1, 6, 3, 4, 5, 6, 2, 8, 2, 7, 4, 7, 6, 7, 8, 3, 6, 4, 6, 1, 2, 1, 3, 5, 5, 9, 6, 3, 7, 3, 5, 3, 3, 4, 4, 7, 7, 1, 9, 8, 6, 7, 3, 8, 4, 6, 6, 7, 5, 1, 6, 5, 7, 2, 2, 6, 2, 1, 2, 4, 2, 2, 5, 5, 8, 5, 6, 2, 3, 9, 7, 4, 2, 7, 8, 8, 3, 3, 9, 8, 1, 3, 6, 5, 4, 9, 4, 6, 2, 8, 6, 4, 6, 6, 1, 4, 5, 8, 8, 1, 1, 4, 1, 4, 7, 4, 7, 3, 5, 5, 9, 1, 3, 8, 8, 5, 3, 4, 5, 3, 1, 8, 9, 4, 4, 8, 6, 2, 4, 9, 7, 6, 7, 7, 4, 6, 4, 1, 9, 2, 2, 4, 6, 9, 1, 8, 3, 9, 4, 2, 8, 5, 7, 6, 9, 5, 9, 8, 6, 3, 7, 6, 4, 2, 8, 9, 4, 4, 8, 7, 6, 8, 5, 1, 4, 9, 7, 9, 1, 4, 4, 4, 3, 8, 7, 3, 5, 1, 3, 8, 6, 2, 3, 1, 9, 4, 8, 4, 1, 8, 1, 7, 8, 7, 5, 9, 3, 5, 7, 2, 9, 8, 7, 4, 4, 4, 6, 6, 9, 7, 6, 7, 9, 3, 9, 5, 2, 6, 2, 9, 4, 4, 2, 4, 5, 3, 1, 2, 6, 2, 9, 9, 9, 5, 6, 4, 9, 4, 8, 5, 7, 1, 1, 4, 2, 3, 4, 2, 7, 4, 1, 1, 2, 9, 8, 6, 2, 3, 1, 1, 3, 1, 1, 3, 1, 3, 1, 6, 6, 7, 9, 8, 3, 6, 3, 4, 4, 2, 7, 4, 5, 7, 9, 2, 8, 9, 6, 2, 2, 7, 6, 4, 2, 8, 8, 1, 8, 9, 3, 1, 3, 4, 4, 9, 8, 1, 5, 1, 5, 5, 2, 3, 2, 6, 6, 4, 7, 9, 3, 3, 6, 8, 9, 5, 9, 6, 5, 1, 6, 8, 5, 9, 3, 4, 2, 2, 4, 2, 2, 4, 4, 5, 8, 4, 7, 1, 4, 8, 1, 8, 7, 7, 3, 7, 9, 1, 5, 6, 7, 1, 8, 7, 3, 2, 2, 2, 1, 7, 1, 6, 4, 3, 4, 7, 8, 5, 2, 8, 4, 3, 7, 5, 1, 8, 7, 5, 9, 7, 9, 4, 1, 5, 1, 9, 8, 1, 6, 5, 6, 2, 7, 5, 3, 4, 2, 6, 3, 5, 2, 7, 8, 2, 8, 4, 1, 4, 5, 4, 9, 2, 1, 7, 2, 3, 4, 3, 2, 2, 3, 6, 1, 9, 3, 7, 7, 8, 5, 1, 8, 5, 1, 7, 4, 9, 9, 3, 2, 5, 6, 7, 5, 3, 4, 8, 3, 8, 7, 6, 3, 7, 8, 3, 3, 2, 5, 2, 1, 8, 2, 4, 5, 1, 5, 9, 7, 7, 1, 7, 3, 3, 9, 7, 5, 3, 5, 7, 8, 4, 2, 3, 6, 9, 2, 3, 6, 2, 9, 6, 3, 6, 7, 1, 3, 4, 6, 9, 1, 5, 1, 5, 2, 6, 3, 9, 9, 1, 4, 9, 5, 4, 8, 3, 2, 2, 8, 4, 9, 8, 3, 1, 4, 3, 1, 5, 2, 6, 2, 1, 9, 4, 7, 8, 6, 5, 3, 8, 6, 1, 7, 5, 4, 3, 6, 4, 1, 5, 5, 2, 7, 5, 8, 6, 5, 5, 1, 1, 6, 4, 3, 9, 2, 3, 2, 4, 9, 8, 5, 8, 5, 8, 9, 4, 6, 6, 1, 4, 2, 4, 7, 4, 7, 6, 3, 7, 7, 8, 4, 1, 3, 8, 2, 6, 8, 2, 9, 2, 2, 6, 6, 6, 3, 3, 9, 8, 4, 6, 7, 5, 6, 9, 5, 5, 5, 7, 4, 7, 2, 6, 7, 1, 9, 5, 1, 2, 9, 5, 2, 5, 1, 3, 8, 9, 1, 7, 5, 6, 1, 7, 8, 5, 4, 3, 6, 4, 4, 9, 8, 5, 5, 9, 3, 3, 9, 5, 1, 5, 3, 8, 9, 7, 3, 9, 9, 5, 8, 8, 1, 9, 5, 4, 5, 2, 1, 1, 2, 4, 7, 5, 3, 3, 6, 9, 2, 2, 3, 8, 9, 8, 3, 1, 2, 8, 4, 3, 7, 3, 4, 7, 7, 1, 5, 3, 2, 3, 4, 2, 3, 8, 3, 2, 8, 2, 9, 8, 7, 4, 2, 2, 3, 3, 4, 1, 9, 6, 5, 8, 5, 1, 2, 8, 5, 2, 6, 5, 2, 6, 3, 2, 4, 2, 9, 1, 7, 7, 7, 6, 8, 9, 6, 8, 9, 4, 9, 2, 3, 4, 6, 2, 3, 1, 7, 8, 6, 3, 3, 5, 8, 5, 1, 5, 5, 1, 4, 1, 3, 8, 7, 6, 8, 3, 4, 9, 6, 9, 8, 7, 8]).
  2.  
  3. drop(0, XS, XS).
  4. drop(N, [], []) :- N > 0.
  5. drop(N, [_|XS], A) :-
  6. N > 0,
  7. M is N - 1,
  8. drop(M, XS, A).
  9.  
  10. take(0, _, []).
  11. take(N, [], []) :- N > 0.
  12. take(N, [X|XS], [X|Rest]) :-
  13. N > 0,
  14. M is N - 1,
  15. take(M, XS, Rest).
  16.  
  17. rotate(N, XS, A) :-
  18. drop(N, XS, Tail),
  19. take(N, XS, Head),
  20. append(Tail, Head, A).
  21.  
  22. matchingPairs([], [], []).
  23. matchingPairs([X | XS], [X | YS], [X | Rest]) :-
  24. matchingPairs(XS, YS, Rest).
  25. matchingPairs([X | XS], [ Y | YS], Rest) :-
  26. X \= Y,
  27. matchingPairs(XS, YS, Rest).
  28.  
  29. halfLength(XS, Hl) :-
  30. length(XS, Len),
  31. Hlf is Len / 2,
  32. floor(Hlf, Hl).
  33.  
  34. sum_list([], 0).
  35. sum_list([H|T], Sum) :-
  36. sum_list(T, Rest),
  37. Sum is H + Rest.
  38.  
  39. answer(A) :-
  40. input(Input),
  41. halfLength(Input, HalfLength),
  42. rotate(HalfLength, Input, Rotated),
  43. matchingPairs(Input, Rotated, Matches),
  44. sum_list(Matches, A).
Add Comment
Please, Sign In to add comment