結果

問題 No.554 recurrence formula
ユーザー ikd
提出日時 2017-08-11 22:40:20
言語 Ruby
(2.7.0p0)
結果
AC  
実行時間 34 ms
コード長 287 Byte
コンパイル時間 35 ms
使用メモリ 9,100 KB
最終ジャッジ日時 2019-12-29 00:53:33

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
test01.txt AC 12 ms
8,320 KB
test02.txt AC 13 ms
8,320 KB
test03.txt AC 12 ms
8,320 KB
test04.txt AC 12 ms
8,320 KB
test05.txt AC 13 ms
8,316 KB
test06.txt AC 12 ms
8,320 KB
test07.txt AC 12 ms
8,316 KB
test08.txt AC 12 ms
8,320 KB
test09.txt AC 13 ms
8,316 KB
test10.txt AC 13 ms
8,320 KB
test11.txt AC 14 ms
8,320 KB
test12.txt AC 14 ms
8,352 KB
test13.txt AC 15 ms
8,344 KB
test14.txt AC 15 ms
8,376 KB
test15.txt AC 14 ms
8,352 KB
test16.txt AC 15 ms
8,388 KB
test17.txt AC 15 ms
8,392 KB
test18.txt AC 14 ms
8,372 KB
test19.txt AC 15 ms
8,364 KB
test20.txt AC 34 ms
9,100 KB
test30.txt AC 34 ms
9,096 KB
テストケース一括ダウンロード
コンパイルメッセージ
Syntax OK

ソースコード

diff #
md=10**9+7
n=gets.to_i

a=Array.new(n+1){0}
a[1]=1
od, ev=1, 0
(2..n).each do |i|
  if i%2==0
    a[i]=i*od%md
    ev=(ev+a[i])%md
  else
    a[i]=i*ev%md
    od=(od+a[i])%md
  end
end

puts a[n]


=begin

n : even
an=n*(a1+a3+...+an-1)
  =n*(a1+(n*a2)+...+(n-1)*(a2+a4+...+an-2))

=end
0