Advertisement
Guest User

Untitled

a guest
May 26th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.08 KB | None | 0 0
  1. table = [[0,0,0,0,0,0,0,0,0],
  2. [0,1,0,0,0,0,0,0,0],
  3. [0,0,0,0,0,0,0,0,0],
  4. [0,0,0,0,0,0,0,0,0],
  5. [0,0,0,0,0,0,0,0,0],
  6. [0,0,0,0,0,0,0,0,0],
  7. [0,0,0,0,0,0,0,2,0],
  8. [0,0,0,0,0,0,2,0,0],
  9. [0,0,0,0,0,0,0,0,0]]
  10.  
  11. duplicateCount :: (Num a) => (Eq a) => [a] -> Bool
  12. duplicateCount xs =
  13. traverse xs [] False where
  14. traverse [] set acc = acc
  15. traverse (x:xs) set acc
  16. | x == 0 = traverse xs (x:set) acc
  17. | x `elem` set = traverse xs set (acc || True)
  18. | otherwise = traverse xs (x:set) acc
  19.  
  20. transpose :: [[a]] -> [[a]]
  21. transpose [] = []
  22. transpose ([] : xss) = transpose xss
  23. transpose ((x:xs) : xss) = (x : [h | (h:t) <- xss]) :
  24. transpose (xs : [t | (h:t) <- xss])
  25.  
  26.  
  27. isCorrect :: (Num a) => (Eq a) => [[a]] -> Bool
  28. isCorrect mas = let
  29. sqr0 = (mas !! 0 !! 0) : (mas !! 0 !! 1) : (mas !! 0 !! 2) :
  30. (mas !! 1 !! 0) : (mas !! 1 !! 1) : (mas !! 1 !! 2) :
  31. (mas !! 2 !! 0) : (mas !! 2 !! 1) : (mas !! 2 !! 2) : []
  32. sqr1 = (mas !! 0 !! 3) : (mas !! 0 !! 4) : (mas !! 0 !! 5) :
  33. (mas !! 1 !! 3) : (mas !! 1 !! 4) : (mas !! 1 !! 5) :
  34. (mas !! 2 !! 3) : (mas !! 2 !! 4) : (mas !! 2 !! 5) : []
  35. sqr2 = (mas !! 0 !! 6) : (mas !! 0 !! 7) : (mas !! 0 !! 8) :
  36. (mas !! 1 !! 6) : (mas !! 1 !! 7) : (mas !! 1 !! 8) :
  37. (mas !! 2 !! 6) : (mas !! 2 !! 7) : (mas !! 2 !! 8) : []
  38.  
  39. sqr3 = (mas !! 3 !! 0) : (mas !! 3 !! 1) : (mas !! 3 !! 2) :
  40. (mas !! 4 !! 0) : (mas !! 4 !! 1) : (mas !! 4 !! 2) :
  41. (mas !! 5 !! 0) : (mas !! 5 !! 1) : (mas !! 5 !! 2) : []
  42. sqr4 = (mas !! 3 !! 3) : (mas !! 3 !! 4) : (mas !! 3 !! 5) :
  43. (mas !! 4 !! 3) : (mas !! 4 !! 4) : (mas !! 4 !! 5) :
  44. (mas !! 5 !! 3) : (mas !! 5 !! 4) : (mas !! 5 !! 5) : []
  45. sqr5 = (mas !! 3 !! 6) : (mas !! 3 !! 7) : (mas !! 3 !! 8) :
  46. (mas !! 4 !! 6) : (mas !! 4 !! 7) : (mas !! 4 !! 8) :
  47. (mas !! 5 !! 6) : (mas !! 5 !! 7) : (mas !! 5 !! 8) : []
  48.  
  49. sqr6 = (mas !! 6 !! 0) : (mas !! 6 !! 1) : (mas !! 6 !! 2) :
  50. (mas !! 7 !! 0) : (mas !! 7 !! 1) : (mas !! 7 !! 2) :
  51. (mas !! 8 !! 0) : (mas !! 8 !! 1) : (mas !! 8 !! 2) : []
  52. sqr7 = (mas !! 6 !! 3) : (mas !! 6 !! 4) : (mas !! 6 !! 5) :
  53. (mas !! 7 !! 3) : (mas !! 7 !! 4) : (mas !! 7 !! 5) :
  54. (mas !! 8 !! 3) : (mas !! 8 !! 4) : (mas !! 8 !! 5) : []
  55. sqr8 = (mas !! 6 !! 6) : (mas !! 6 !! 7) : (mas !! 6 !! 8) :
  56. (mas !! 7 !! 6) : (mas !! 7 !! 7) : (mas !! 7 !! 8) :
  57. (mas !! 8 !! 6) : (mas !! 8 !! 7) : (mas !! 8 !! 8) : []
  58. in
  59. not ((duplicateCount sqr0) ||
  60. (duplicateCount sqr1) ||
  61. (duplicateCount sqr2) ||
  62. (duplicateCount sqr4) ||
  63. (duplicateCount sqr5) ||
  64. (duplicateCount sqr5) ||
  65. (duplicateCount sqr6) ||
  66. (duplicateCount sqr7) ||
  67. (duplicateCount sqr8))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement