結果

問題 No.533 Mysterious Stairs
コンテスト
ユーザー aimy
提出日時 2017-06-24 09:50:36
言語 Haskell
(9.14.1)
コンパイル:
ghc -rtsopts -with-rtsopts=-K1G -o a.out -O2 _filename_
実行:
./a.out
結果
AC  
実行時間 512 ms / 5,000 ms
コード長 316 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 6,466 ms
コンパイル使用メモリ 194,816 KB
実行使用メモリ 238,208 KB
最終ジャッジ日時 2026-04-20 02:57:25
合計ジャッジ時間 9,768 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 28
権限があれば一括ダウンロードができます
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.14.1/environments/default
[1 of 2] Compiling Main             ( Main.hs, Main.o )
Main.hs:11:29: warning: [GHC-63394] [-Wx-partial]
    In the use of ‘head’
    (imported from Prelude, but defined in GHC.Internal.List):
    "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"."
   |
11 | step n = flip mod q $ sum $ head $ apply (n-3) dp [[1,1,1],[0,1,0],[1,0,0]]
   |                             ^^^^

[2 of 2] Linking a.out

ソースコード

diff #
raw source code

q = 10^9+7

apply n f x = foldr ($) x (replicate n f)

main = readLn >>= print . step

step :: Int -> Int
step 1 = 1
step 2 = 1
step 3 = 3
step n = flip mod q $ sum $ head $ apply (n-3) dp [[1,1,1],[0,1,0],[1,0,0]]

dp xs@[[x1,x2,x3],[y1,y2,y3],[z1,z2,z3]] = [mod (x2+x3) q, mod (y1+y3) q, mod (z1+z2) q] : take 2 xs
0