Atcoder Regular Contest #011 with Haskell
久しぶりにHaskellをつかいました.
やっぱりつかわないとできないですね.Haskell書かないとです.
A
C++で書いたコードを流用した.
Functor, Applicative Functor, Monadどれも忘れてしまいました.
import Control.Applicative -- 順にn, m, N(iで代用), unused solve :: Int -> Int -> Int -> Int -> Int solve n m i unused | i < n = if i + unused < n then i else i + solve n m ((i + unused) `div` n * m) ((i + unused) `mod` n) | otherwise = i + solve n m (i `div` n * m) (unused + i `mod` n) main = do [n, m, i] <- map read . words <$> getLine -- こんなに簡単に書けてうれしいよー print $ solve n m i 0