結果
問題 | No.8037 Restricted Lucas (Hard) |
ユーザー |
|
提出日時 | 2018-04-01 23:07:08 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 149 ms / 2,000 ms |
コード長 | 1,659 bytes |
コンパイル時間 | 131 ms |
コンパイル使用メモリ | 7,680 KB |
実行使用メモリ | 13,184 KB |
最終ジャッジ日時 | 2024-06-26 06:05:29 |
合計ジャッジ時間 | 1,751 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 6 |
コンパイルメッセージ
Syntax OK
ソースコード
@zero = [].size@one = :a.size@two = :aa.size@three = :aaa.size@seven = :aaaaaaa.size@nine = :aaaaaaaaa.size@ten = :aaaaaaaaaa.size@plus = :aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.size.chr@mul = :aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.size.chrtmp = @ten.to_stmp << @multmp << @multmp << @nine.to_stmp << @plustmp << @seven.to_s@mod = eval(tmp)@div = :aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.size.chrdef matmul(a, b)c = [[@zero, @zero], [@zero, @zero]]a.size.times do |i|b.size.times do |j|b[@zero].size.times do |k|hoge = String.new()hoge << a[i][k].to_shoge << @mulhoge << b[k][j].to_shoge << @plushoge << c[i][j].to_sc[i][j] = eval(hoge)hoge = String.new()hoge << c[i][j].to_shoge << @divhoge << @mod.to_sc[i][j] = eval(hoge)endendendreturn cenddef matpow(a, n)res = [[@one, @zero], [@zero, @one]]while n > @zeroif (n & @one) > @zerores = matmul(res, a)enda = matmul(a, a)n >>= @oneendreturn resenda = [[@zero, @one], [@one, @one]]t = gets.to_it.times don = gets.to_ib = matpow(a, n)hoge = String.new()hoge << b[@zero][@zero].to_shoge << @plushoge << b[@zero][@zero].to_shoge << @plushoge << b[@zero][@one].to_sans = eval(hoge)hoge = ans.to_shoge << @divhoge << @mod.to_sans = eval(hoge)p ansend