-
-
Save dekosuke/2389591 to your computer and use it in GitHub Desktop.
Google Code Jam Qualification Round
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
savazusi ' ' = ' ' | |
savazusi 'a' = 'y' | |
savazusi 'b' = 'h' | |
savazusi 'c' = 'e' | |
savazusi 'd' = 's' | |
savazusi 'e' = 'o' | |
savazusi 'f' = 'c' | |
savazusi 'g' = 'v' | |
savazusi 'h' = 'x' | |
savazusi 'i' = 'd' | |
savazusi 'j' = 'u' | |
savazusi 'k' = 'i' | |
savazusi 'l' = 'g' | |
savazusi 'm' = 'l' | |
savazusi 'n' = 'b' | |
savazusi 'o' = 'k' | |
savazusi 'p' = 'r' | |
savazusi 'q' = 'z' | |
savazusi 'r' = 't' | |
savazusi 's' = 'n' | |
savazusi 't' = 'w' | |
savazusi 'u' = 'j' | |
savazusi 'v' = 'p' | |
savazusi 'w' = 'f' | |
savazusi 'x' = 'm' | |
savazusi 'y' = 'a' | |
savazusi 'z' = 'q' | |
haco cs = | |
unlines $ map live $ zip [1..] ls | |
where | |
ls = tail $ lines cs | |
live (num, xs) = "Case #" ++ show num ++ ": " ++ translate xs | |
translate = map savazusi | |
main = interact haco |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Data.List | |
import Debug.Trace | |
import qualified Data.Map as M | |
unidon = uni . don | |
uni :: [String] -> String | |
uni ls = unlines $ map uni' $ zip [1..] ls | |
uni' :: (Int, String) -> String | |
uni' (k, cs) = | |
"Case #"++show k++": "++show ans | |
where | |
(ana,go) = let a:b:_ = words cs in (read a,read b) | |
rotations :: Int -> [Int] | |
rotations num = map read $ filter (\(x:xs)->x/='0') $ map unagi [1..length xs-1] | |
where | |
xs = show num | |
unagi i = let (a,b) = splitAt i xs in b ++ a | |
ans = length $ M.toList $ M.fromList [((a,b),1)|a<-[ana..go], b<-rotations a, b>a, b<=go] | |
don = tail . lines | |
main = interact unidon |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment