Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- table = [[0,0,0,0,0,0,0,0,0],
- [0,1,0,0,0,0,0,0,0],
- [0,0,0,0,0,0,0,0,0],
- [0,0,0,0,0,0,0,0,0],
- [0,0,0,0,0,0,0,0,0],
- [0,0,0,0,0,0,0,0,0],
- [0,0,0,0,0,0,0,2,0],
- [0,0,0,0,0,0,2,0,0],
- [0,0,0,0,0,0,0,0,0]]
- duplicateCount :: (Num a) => (Eq a) => [a] -> Bool
- duplicateCount xs =
- traverse xs [] False where
- traverse [] set acc = acc
- traverse (x:xs) set acc
- | x == 0 = traverse xs (x:set) acc
- | x `elem` set = traverse xs set (acc || True)
- | otherwise = traverse xs (x:set) acc
- transpose :: [[a]] -> [[a]]
- transpose [] = []
- transpose ([] : xss) = transpose xss
- transpose ((x:xs) : xss) = (x : [h | (h:t) <- xss]) :
- transpose (xs : [t | (h:t) <- xss])
- isCorrect :: (Num a) => (Eq a) => [[a]] -> Bool
- isCorrect mas = let
- sqr0 = (mas !! 0 !! 0) : (mas !! 0 !! 1) : (mas !! 0 !! 2) :
- (mas !! 1 !! 0) : (mas !! 1 !! 1) : (mas !! 1 !! 2) :
- (mas !! 2 !! 0) : (mas !! 2 !! 1) : (mas !! 2 !! 2) : []
- sqr1 = (mas !! 0 !! 3) : (mas !! 0 !! 4) : (mas !! 0 !! 5) :
- (mas !! 1 !! 3) : (mas !! 1 !! 4) : (mas !! 1 !! 5) :
- (mas !! 2 !! 3) : (mas !! 2 !! 4) : (mas !! 2 !! 5) : []
- sqr2 = (mas !! 0 !! 6) : (mas !! 0 !! 7) : (mas !! 0 !! 8) :
- (mas !! 1 !! 6) : (mas !! 1 !! 7) : (mas !! 1 !! 8) :
- (mas !! 2 !! 6) : (mas !! 2 !! 7) : (mas !! 2 !! 8) : []
- sqr3 = (mas !! 3 !! 0) : (mas !! 3 !! 1) : (mas !! 3 !! 2) :
- (mas !! 4 !! 0) : (mas !! 4 !! 1) : (mas !! 4 !! 2) :
- (mas !! 5 !! 0) : (mas !! 5 !! 1) : (mas !! 5 !! 2) : []
- sqr4 = (mas !! 3 !! 3) : (mas !! 3 !! 4) : (mas !! 3 !! 5) :
- (mas !! 4 !! 3) : (mas !! 4 !! 4) : (mas !! 4 !! 5) :
- (mas !! 5 !! 3) : (mas !! 5 !! 4) : (mas !! 5 !! 5) : []
- sqr5 = (mas !! 3 !! 6) : (mas !! 3 !! 7) : (mas !! 3 !! 8) :
- (mas !! 4 !! 6) : (mas !! 4 !! 7) : (mas !! 4 !! 8) :
- (mas !! 5 !! 6) : (mas !! 5 !! 7) : (mas !! 5 !! 8) : []
- sqr6 = (mas !! 6 !! 0) : (mas !! 6 !! 1) : (mas !! 6 !! 2) :
- (mas !! 7 !! 0) : (mas !! 7 !! 1) : (mas !! 7 !! 2) :
- (mas !! 8 !! 0) : (mas !! 8 !! 1) : (mas !! 8 !! 2) : []
- sqr7 = (mas !! 6 !! 3) : (mas !! 6 !! 4) : (mas !! 6 !! 5) :
- (mas !! 7 !! 3) : (mas !! 7 !! 4) : (mas !! 7 !! 5) :
- (mas !! 8 !! 3) : (mas !! 8 !! 4) : (mas !! 8 !! 5) : []
- sqr8 = (mas !! 6 !! 6) : (mas !! 6 !! 7) : (mas !! 6 !! 8) :
- (mas !! 7 !! 6) : (mas !! 7 !! 7) : (mas !! 7 !! 8) :
- (mas !! 8 !! 6) : (mas !! 8 !! 7) : (mas !! 8 !! 8) : []
- in
- not ((duplicateCount sqr0) ||
- (duplicateCount sqr1) ||
- (duplicateCount sqr2) ||
- (duplicateCount sqr4) ||
- (duplicateCount sqr5) ||
- (duplicateCount sqr5) ||
- (duplicateCount sqr6) ||
- (duplicateCount sqr7) ||
- (duplicateCount sqr8))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement