Submission #8877978
Source Code Expand
import Data.List
main :: IO ()
main = do
[h,w] <- map read . words <$> getLine :: IO [Int]
l <- lines <$> getContents
let bs = concat $ map (\g -> boms (fst g) (snd g)) $ zip [1..h] l
let grid = [((i,j),v) | i <- [1..h], j <- [1..w], let v = (l !! (i-1)) !! (j-1)]
putStr $ split (makeLine grid bs) w
boms :: Int -> String -> [(Int, Int)]
boms h l = map (\i -> (h,i+1)) $ elemIndices '#' l
around :: (Int, Int) -> [(Int,Int)]
around (i,j) = [(i-1,j-1), (i-1,j), (i-1,j+1), (i,j-1), (i,j+1), (i+1,j-1), (i+1,j), (i+1,j+1)]
makeLine :: [((Int,Int),Char)] -> [(Int,Int)]-> String
makeLine [] _ = ""
makeLine (x:xs) bs
|snd x == '#'= ['#'] ++ (makeLine xs bs)
|otherwise =
let number = length $ filter (`elem` bs) $ around (fst x)
in show number ++ makeLine xs bs
split :: String -> Int -> String
split "" _ = ""
split xs w = take w xs ++ "\n" ++ split (drop w xs) w
Submission Info
Submission Time |
|
Task |
B - Minesweeper |
User |
cashitsuki |
Language |
Haskell (GHC 7.10.3) |
Score |
200 |
Code Size |
927 Byte |
Status |
AC |
Exec Time |
162 ms |
Memory |
1276 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
200 / 200 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample_01.txt, sample_02.txt, sample_03.txt |
All |
sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt |
Case Name |
Status |
Exec Time |
Memory |
sample_01.txt |
AC |
1 ms |
508 KB |
sample_02.txt |
AC |
1 ms |
508 KB |
sample_03.txt |
AC |
2 ms |
508 KB |
subtask_1_1.txt |
AC |
162 ms |
1276 KB |
subtask_1_10.txt |
AC |
3 ms |
1020 KB |
subtask_1_11.txt |
AC |
2 ms |
1020 KB |
subtask_1_12.txt |
AC |
1 ms |
508 KB |
subtask_1_2.txt |
AC |
1 ms |
508 KB |
subtask_1_3.txt |
AC |
27 ms |
1020 KB |
subtask_1_4.txt |
AC |
2 ms |
508 KB |
subtask_1_5.txt |
AC |
2 ms |
508 KB |
subtask_1_6.txt |
AC |
2 ms |
508 KB |
subtask_1_7.txt |
AC |
2 ms |
508 KB |
subtask_1_8.txt |
AC |
9 ms |
892 KB |
subtask_1_9.txt |
AC |
1 ms |
508 KB |