Submission #3016202


Source Code Expand

import Control.Monad
import Control.Applicative
import Data.List as List
import Data.Array as Array
import Data.Maybe as Maybe
import Debug.Trace

f a = do
  map ((\xs -> filter (== head xs) xs).(map (a !)).g) $ Array.indices a
  where
  r = Array.inRange $ Array.bounds a
  g (y, x) = filter r [(y + i, x + j) | (i, j) <- [(0,0),(0,1),(0,-1),(1,0),(-1,0)]]


main = do
  _ <- getLine
  s <- words <$> getContents
  --let s = ["#.#",".#."]
  let ly = length s
  let lx = (`div` ly).length.join $ s
  let a = Array.listArray ((0, 0), (ly - 1, lx - 1)) $ join s
  let b = and.map (\xs -> if head xs == '#' then length xs /= 1 else True) $ f a
  putStrLn $ if b then "Yes" else "No"

Submission Info

Submission Time
Task C - Grid Repainting 2
User otakuto
Language Haskell (GHC 7.10.3)
Score 300
Code Size 703 Byte
Status AC
Exec Time 2 ms
Memory 1020 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 13
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, sample_01.txt, sample_02.txt, sample_03.txt
Case Name Status Exec Time Memory
in01.txt AC 2 ms 892 KB
in02.txt AC 2 ms 892 KB
in03.txt AC 2 ms 892 KB
in04.txt AC 2 ms 892 KB
in05.txt AC 2 ms 1020 KB
in06.txt AC 2 ms 892 KB
in07.txt AC 2 ms 1020 KB
in08.txt AC 2 ms 892 KB
in09.txt AC 2 ms 892 KB
in10.txt AC 2 ms 1020 KB
sample_01.txt AC 1 ms 380 KB
sample_02.txt AC 1 ms 380 KB
sample_03.txt AC 1 ms 508 KB