結果

問題 No.40 多項式の割り算
コンテスト
ユーザー d_nishiyama85
提出日時 2016-07-17 11:31:20
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 2,981 ms / 5,000 ms
コード長 539 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 723 ms
コンパイル使用メモリ 11,932 KB
実行使用メモリ 83,328 KB
最終ジャッジ日時 2026-07-04 14:18:01
合計ジャッジ時間 32,012 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 32
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.rb:22: warning: assigned but unused variable - d
Syntax OK

ソースコード

diff #
raw source code

require 'pp'

def divide(poly, div)
  c = poly[-1] / div[-1]
  _poly = []

  len = poly.length
  len.times{|d|
    if len - d < div.length
      _poly[d] = poly[d] - c * div[div.length - (len - d)]
    else
      _poly[d] = poly[d]
    end
  }
  while _poly[-1] == 0
    _poly.pop()
  end

  return _poly
end

d = gets.to_i
poly = gets.strip.split.map{|e| e.to_i}

div = [0, -1, 0, 1]

while div.length <= poly.length
  poly = divide(poly, div)
end

if poly.empty?
  puts 0
  puts 0
else
  puts (poly.length - 1)
  puts poly.join(' ')
end
0