結果
問題 |
No.533 Mysterious Stairs
|
ユーザー |
![]() |
提出日時 | 2017-06-23 23:55:26 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 791 bytes |
コンパイル時間 | 151 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 84,968 KB |
最終ジャッジ日時 | 2024-10-04 08:08:14 |
合計ジャッジ時間 | 15,705 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 16 WA * 2 TLE * 1 -- * 9 |
コンパイルメッセージ
Syntax OK
ソースコード
n=gets.to_i if n==1 puts 1 exit elsif n==2 puts 2 exit elsif n==3 puts 4 exit end m=10**9+7 a=Hash.new(0) b=Hash.new(0) c=Hash.new(0) a[1]=1 b[2]=1 c[3]=1 ans=0 loop{ x=Hash.new(0) y=Hash.new(0) z=Hash.new(0) a.each{|k,v| if k+2 < n y[k+2]=(y[k+2]+v)%m elsif k+2==n ans=(ans+v)%m end if k+3 < n z[k+3]=(z[k+3]+v)%m elsif k+3==n ans=(ans+v)%m end } b.each{|k,v| if k+1 < n x[k+1]=(x[k+1]+v)%m elsif k+1==n ans=(ans+v)%m end if k+3 < n z[k+3]=(z[k+3]+v)%m elsif k+3==n ans=(ans+v)%m end } c.each{|k,v| if k+1 < n x[k+1]=(x[k+1]+v)%m elsif k+1==n ans=(ans+v)%m end if k+2 < n y[k+2]=(y[k+2]+v)%m elsif k+2==n ans=(ans+v)%m end } a,b,c=x,y,z break if a.empty? && b.empty? && c.empty? } puts ans