結果
問題 |
No.351 市松スライドパズル
|
ユーザー |
|
提出日時 | 2017-04-26 23:55:03 |
言語 | Haskell (9.10.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,136 bytes |
コンパイル時間 | 2,056 ms |
コンパイル使用メモリ | 176,128 KB |
実行使用メモリ | 398,976 KB |
最終ジャッジ日時 | 2024-09-13 13:04:03 |
合計ジャッジ時間 | 27,774 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 7 WA * 2 TLE * 8 |
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default [1 of 2] Compiling Main ( Main.hs, Main.o ) [2 of 2] Linking a.out
ソースコード
import Control.Monad import Debug.Trace rInt :: String -> Int rInt = read rcTuple [rc,x] = (rc, rInt x) solve _ _ [] r c | ((r + c) `mod` 2) == 0 = "white" | otherwise = "black" solve w h (rc:rcs) r c | updateR || updateC = solve w h rcs r' c' | otherwise = solve w h rcs r c where updateR = (fst rc) == "C" && (snd rc) == c updateC = (fst rc) == "R" && (snd rc) == r r' | updateR = (r + h - 1) `mod` h | otherwise = r c' | updateC = (c + w - 1) `mod` w | otherwise = c --r' | updateR = trace ("R : " ++ show r ++ "->" ++ show ((r + h - 1) `mod` h)) ((r + h - 1) `mod` h) -- | otherwise = trace ("R : " ++ show r) r --c' | updateC = trace ("C : " ++ show c ++ "->" ++ show ((c + w - 1) `mod` w)) ((c + w - 1) `mod` w) -- | otherwise = trace ("C : " ++ show c) c main = do [w, h] <- map rInt . words <$> getLine n <- readLn rc <- map (rcTuple . words) <$> replicateM n getLine --print $ show w ++ " " ++ show h --print rc putStrLn $ solve w h rc 0 0