結果
問題 |
No.510 二次漸化式
|
ユーザー |
|
提出日時 | 2017-04-29 00:10:08 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 633 bytes |
コンパイル時間 | 51 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 16,768 KB |
最終ジャッジ日時 | 2024-09-13 19:31:50 |
合計ジャッジ時間 | 16,090 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 2 |
other | WA * 8 RE * 24 TLE * 2 |
コンパイルメッセージ
Syntax OK
ソースコード
N = gets.to_i Q = gets.to_i Query = Q.times.map{ q,*args = gets.split [q.intern] + args.map(&:to_i) } $x = Hash.new(0) $y = Hash.new(0) $a = {} $b = {} def a(i) return 1 if i == 0 # $a[i] ||= ($x[i-1] * b(i-1)**2 + a(i-1)) % (10**9+7) $a[i] ||= if $x[i-1] == 0 a(i-1) else $x[i-1] * b(i-1)**2 + a(i-1) end % (10**9+7) end def b(i) return 1 if i == 0 $b[i] ||= if $y[i-1] == 0 1 else b(i-1) + 1 end end Query.each{|q, *args| case q when :a puts a(args[0]) % (10**9+7) when :x $x[args[0]] = args[1] $a.clear when :y $y[args[0]] = args[1] $a.clear; $b.clear end }