結果

問題 No.565 回転拡大
ユーザー くれちー
提出日時 2017-09-09 02:23:27
言語 Haskell
(9.10.1)
結果
WA  
(最新)
AC  
(最初)
実行時間 -
コード長 548 bytes
コンパイル時間 6,498 ms
コンパイル使用メモリ 170,752 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-07 12:45:08
合計ジャッジ時間 7,138 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 3
other WA * 30
権限があれば一括ダウンロードができます
コンパイルメッセージ
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

ソースコード

diff #

import Control.Monad (replicateM)
import Data.List (transpose)

main :: IO ()
main = do
    [r, k] <- map read . words <$> getLine
    [h, w] <- map read . words <$> getLine
    cs <- replicateM h getLine
    putStrLn . unlines $ solve r k cs

solve :: Int -> Int -> [[Char]] -> [[Char]]
solve r k cs = expand2 k $ (iterate rotate cs) !! (r `div` 90)

rotate :: [[a]] -> [[a]]
rotate = map reverse . transpose

expand :: Int -> [a] -> [a]
expand n = concat . map (replicate n)

expand2 :: Int -> [[a]] -> [[a]]
expand2 n = map (expand n) . expand n
0