結果

問題 No.554 recurrence formula
コンテスト
ユーザー Asdf_QwertyZ
提出日時 2017-09-03 00:39:15
言語 Haskell
(9.14.1)
コンパイル:
ghc -rtsopts -with-rtsopts=-K1G -o a.out -O2 _filename_
実行:
./a.out
結果
AC  
実行時間 13 ms / 2,000 ms
コード長 307 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,342 ms
コンパイル使用メモリ 194,944 KB
実行使用メモリ 16,512 KB
最終ジャッジ日時 2026-05-06 23:50:56
合計ジャッジ時間 2,556 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 21
権限があれば一括ダウンロードができます
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.14.1/environments/default
[1 of 2] Compiling Main             ( Main.hs, Main.o )
[2 of 2] Linking a.out

ソースコード

diff #
raw source code

import Data.List (unfoldr)

m :: Int
m = 10^9+7

main :: IO ()
main = do
  n <- readLn

  print $ (!!(n-1)) $ (1:) $ flip unfoldr (2,0,1) $ \(i,evenS,oddS) -> case even i of
    True  -> Just (i*oddS`mod`m, (i+1, evenS+i*oddS`mod`m, oddS))
    False -> Just (i*evenS`mod`m, (i+1, evenS, oddS+i*evenS`mod`m))
0