結果
問題 |
No.510 二次漸化式
|
ユーザー |
|
提出日時 | 2017-04-29 00:13:49 |
言語 | Ruby (3.4.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 586 bytes |
コンパイル時間 | 159 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 19,104 KB |
最終ジャッジ日時 | 2024-09-13 19:32:17 |
合計ジャッジ時間 | 5,035 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | TLE * 1 -- * 33 |
コンパイルメッセージ
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] ||= 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 $y[i-1] * 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 }