結果

問題 No.82 市松模様
ユーザー dsplit
提出日時 2019-08-14 17:07:37
言語 Haskell
(8.6.2)
結果
WA   .
実行時間 -
コード長 505 Byte
コンパイル時間 1,029 ms
使用メモリ 8,912 KB
最終ジャッジ日時 2019-08-14 17:07:39

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
sample1.txt WA -
sample2.txt AC 3 ms
6,872 KB
sample3.txt AC 2 ms
6,868 KB
test1.txt AC 2 ms
8,912 KB
test2.txt AC 3 ms
6,868 KB
test3.txt WA -
test4.txt AC 3 ms
6,868 KB
test5.txt WA -
test6.txt WA -
test7.txt AC 2 ms
8,912 KB
テストケース一括ダウンロード
コンパイルメッセージ
[1 of 1] Compiling Main             ( Main.hs, Main.o )
Linking a.out ...

ソースコード

diff #
import Data.List
import Control.Monad

f :: String -> Char
f "W" = 'B'
f "B" = 'W'
f  _  = '@'

g :: String -> Char
g "W" = 'W'
g "B" = 'B'
g  _  = '@'

main :: IO ()
main = do
    [a, b, c] <- words <$> getLine
    let w = (read :: String -> Int) a
        h = (read :: String -> Int) b
    forM_ [1..h] $ \i -> do
        if i `mod` 2 == 1
            then putStrLn $ intersperse (f c) $ replicate ((w + 1) `div` 2) (g c)
            else putStrLn $ intersperse (g c) $ replicate ((w + 1) `div` 2) (f c)
0