結果
問題 |
No.533 Mysterious Stairs
|
ユーザー |
|
提出日時 | 2017-06-23 01:43:01 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 458 ms / 5,000 ms |
コード長 | 451 bytes |
コンパイル時間 | 107 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 35,712 KB |
最終ジャッジ日時 | 2024-10-04 07:26:36 |
合計ジャッジ時間 | 4,865 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 28 |
コンパイルメッセージ
Syntax OK
ソースコード
def ascan; gets.split.map(&:to_i); end def scan; gets.to_i; end line = gets.chomp! assert unless line=~/^\d+$/ assert unless !gets MOD = 1000000007 n = line.to_i dp1 = Array.new(n+4,0) dp2 = Array.new(n+4,0) dp3 = Array.new(n+4,0) dp1[1] = 1 dp2[2] = 1 dp3[3] = 1 1.upto(n-1){|i| dp1[i+1] = (dp1[i+1]+dp2[i]+dp3[i])%MOD dp2[i+2] = (dp2[i+2]+dp1[i]+dp3[i])%MOD dp3[i+3] = (dp3[i+3]+dp1[i]+dp2[i])%MOD } p (dp1[n]+dp2[n]+dp3[n])%MOD