import qualified Data.
Map as M
pickPattern :: Integer -> [[Integer]]
pickPattern n = map (pick' [] n) [1..n]
where
pick' ns n1 n2
| n1 == 0 = ns
| n1 == n2 = pick' (-1:ns) (n1-1) n2
| otherwise = pick' (0:ns) (n1-1) n2
pick :: [(Int, Integer)] -> Int -> [[(Int, Integer)]]
pick xs n = filter (all ((>=0) . snd)) $ map hoge $ nub $ map total $ replicateM n $ pickPattern (genericLength xs)
where
total = foldl1 (zipWith (+))
hoge = zipWith (\(a,b) c -> (a,b+c)) xs
solve :: [(Int, Integer)] -> Integer
solve = snd . solve' M.empty
where
solve' m al@((a1, b1):xs)
| all ((==0) . fst) al = (M.insert (sort al) 1 m, 1)
| a1 == 0 = solve' m (xs ++ [(a1, b1)])
| isJust (M.lookup (sort al) m) = (m, fromJust(M.lookup (sort al) m))
| otherwise = (\(m', s) -> (M.insert (sort al) s m', s)) $ foldl (\(m',t) as -> (\(a,b) -> (a, b+t)) $ solve' m' ((a1-1, b1):as)) (m, 0) (pick xs 1)
aW1wb3J0IERhdGEuTGlzdAppbXBvcnQgQ29udHJvbC5Nb25hZAppbXBvcnQgRGF0YS5NYXliZQppbXBvcnQgcXVhbGlmaWVkIERhdGEuTWFwIGFzIE0KCnBpY2tQYXR0ZXJuIDo6IEludGVnZXIgLT4gW1tJbnRlZ2VyXV0KcGlja1BhdHRlcm4gbiA9IG1hcCAocGljaycgW10gbikgWzEuLm5dCiAgd2hlcmUKICAgIHBpY2snIG5zIG4xIG4yCiAgICAgIHwgbjEgPT0gMCA9IG5zCiAgICAgIHwgbjEgPT0gbjIgPSBwaWNrJyAoLTE6bnMpIChuMS0xKSBuMgogICAgICB8IG90aGVyd2lzZSA9IHBpY2snICgwOm5zKSAobjEtMSkgbjIKCnBpY2sgOjogWyhJbnQsIEludGVnZXIpXSAtPiBJbnQgLT4gW1soSW50LCBJbnRlZ2VyKV1dCnBpY2sgeHMgbiA9IGZpbHRlciAoYWxsICgoPj0wKSAuIHNuZCkpICQgbWFwIGhvZ2UgJCBudWIgJCBtYXAgdG90YWwgJCByZXBsaWNhdGVNIG4gJCBwaWNrUGF0dGVybiAoZ2VuZXJpY0xlbmd0aCB4cykKICB3aGVyZQogICAgdG90YWwgPSBmb2xkbDEgKHppcFdpdGggKCspKQogICAgaG9nZSA9IHppcFdpdGggKFwoYSxiKSBjIC0+IChhLGIrYykpIHhzCgpzb2x2ZSA6OiBbKEludCwgSW50ZWdlcildIC0+IEludGVnZXIKc29sdmUgPSBzbmQgLiBzb2x2ZScgTS5lbXB0eQogIHdoZXJlCiAgICBzb2x2ZScgbSBhbEAoKGExLCBiMSk6eHMpCiAgICAgIHwgYWxsICgoPT0wKSAuIGZzdCkgYWwgPSAoTS5pbnNlcnQgKHNvcnQgYWwpIDEgbSwgMSkKICAgICAgfCBhMSA9PSAwID0gc29sdmUnIG0gKHhzICsrIFsoYTEsIGIxKV0pCiAgICAgIHwgaXNKdXN0IChNLmxvb2t1cCAoc29ydCBhbCkgbSkgPSAobSwgZnJvbUp1c3QoTS5sb29rdXAgKHNvcnQgYWwpIG0pKQogICAgICB8IG90aGVyd2lzZSA9IChcKG0nLCBzKSAtPiAoTS5pbnNlcnQgKHNvcnQgYWwpIHMgbScsIHMpKSAkIGZvbGRsIChcKG0nLHQpIGFzIC0+IChcKGEsYikgLT4gKGEsIGIrdCkpICQgc29sdmUnIG0nICgoYTEtMSwgYjEpOmFzKSkgKG0sIDApIChwaWNrIHhzIDEpCg==
/opt/scala/bin/scalac: line 50: /dev/null: Permission denied
Main.scala:7: error: unclosed character literal
pickPattern n = map (pick' [] n) [1..n]
^
Main.scala:9: error: unclosed character literal
pick' ns n1 n2
^
Main.scala:11: error: unclosed character literal
| n1 == n2 = pick' (-1:ns) (n1-1) n2
^
Main.scala:12: error: unclosed character literal
| otherwise = pick' (0:ns) (n1-1) n2
^
Main.scala:21: error: unclosed character literal
solve = snd . solve' M.empty
^
Main.scala:23: error: unclosed character literal
solve' m al@((a1, b1):xs)
^
Main.scala:25: error: unclosed character literal
| a1 == 0 = solve' m (xs ++ [(a1, b1)])
^
Main.scala:27: error: unclosed character literal
| otherwise = (\(m', s) -> (M.insert (sort al) s m', s)) $ foldl (\(m',t) as -> (\(a,b) -> (a, b+t)) $ solve' m' ((a1-1, b1):as)) (m, 0) (pick xs 1)
^
Main.scala:27: error: unclosed character literal
| otherwise = (\(m', s) -> (M.insert (sort al) s m', s)) $ foldl (\(m',t) as -> (\(a,b) -> (a, b+t)) $ solve' m' ((a1-1, b1):as)) (m, 0) (pick xs 1)
^
Main.scala:27: error: unclosed character literal
| otherwise = (\(m', s) -> (M.insert (sort al) s m', s)) $ foldl (\(m',t) as -> (\(a,b) -> (a, b+t)) $ solve' m' ((a1-1, b1):as)) (m, 0) (pick xs 1)
^
Main.scala:27: error: unclosed character literal
| otherwise = (\(m', s) -> (M.insert (sort al) s m', s)) $ foldl (\(m',t) as -> (\(a,b) -> (a, b+t)) $ solve' m' ((a1-1, b1):as)) (m, 0) (pick xs 1)
^
Main.scala:27: error: unclosed character literal
| otherwise = (\(m', s) -> (M.insert (sort al) s m', s)) $ foldl (\(m',t) as -> (\(a,b) -> (a, b+t)) $ solve' m' ((a1-1, b1):as)) (m, 0) (pick xs 1)
^
Main.scala:4: error: '.' expected but identifier found.
import qualified Data.Map as M
^
Main.scala:6: error: identifier expected but ';' found.
pickPattern :: Integer -> [[Integer]]
^
Main.scala:7: error: expected class or object definition
pickPattern n = map (pick' [] n) [1..n]
^
Main.scala:8: error: expected class or object definition
where
^
Main.scala:9: error: expected class or object definition
pick' ns n1 n2
^
Main.scala:10: error: expected class or object definition
| n1 == 0 = ns
^
Main.scala:11: error: expected class or object definition
| n1 == n2 = pick' (-1:ns) (n1-1) n2
^
Main.scala:12: error: expected class or object definition
| otherwise = pick' (0:ns) (n1-1) n2
^
Main.scala:14: error: expected class or object definition
pick :: [(Int, Integer)] -> Int -> [[(Int, Integer)]]
^
Main.scala:15: error: expected class or object definition
pick xs n = filter (all ((>=0) . snd)) $ map hoge $ nub $ map total $ replicateM n $ pickPattern (genericLength xs)
^
Main.scala:16: error: expected class or object definition
where
^
Main.scala:17: error: expected class or object definition
total = foldl1 (zipWith (+))
^
Main.scala:18: error: expected class or object definition
hoge = zipWith (\(a,b) c -> (a,b+c)) xs
^
Main.scala:20: error: expected class or object definition
solve :: [(Int, Integer)] -> Integer
^
Main.scala:21: error: expected class or object definition
solve = snd . solve' M.empty
^
Main.scala:22: error: expected class or object definition
where
^
Main.scala:23: error: expected class or object definition
solve' m al@((a1, b1):xs)
^
Main.scala:24: error: expected class or object definition
| all ((==0) . fst) al = (M.insert (sort al) 1 m, 1)
^
Main.scala:25: error: expected class or object definition
| a1 == 0 = solve' m (xs ++ [(a1, b1)])
^
Main.scala:26: error: expected class or object definition
| isJust (M.lookup (sort al) m) = (m, fromJust(M.lookup (sort al) m))
^
Main.scala:27: error: expected class or object definition
| otherwise = (\(m', s) -> (M.insert (sort al) s m', s)) $ foldl (\(m',t) as -> (\(a,b) -> (a, b+t)) $ solve' m' ((a1-1, b1):as)) (m, 0) (pick xs 1)
^
33 errors found
spoj: The program compiled successfully, but Main.class was not found.
Class Main should contain method: def main(args: Array[String]).