18/11/07 02:11:40.28 B66LtM9k.net
>>236 訂正
s = ->a, b{a.zip(b).map{|i, j| i - j}}
t = ->a, k{a.map{|i| i * k}}
n = gets.to_i
m = $<.read.split($/).map{|e| f[n + 1, *e.split.map(&:to_r)]}
n.times do |r|
(nonzero = m[r..-1].find_index{|e| e[r].nonzero?} + r) || next
m[r], m[nonzero] = t[m[nonzero], 1/m[nonzero][r + 1]], m[r]
[*[*(0..n + 1)] - [r]].each{|i| m[i] = s[m[i], t[m[r], m[i][r + 1]/m[r][r + 1]]]}
end
puts m.transpose[0].map{|i| i.denominator == 1 ? i.to_i : i} * ' '