結果

問題 No.297 カードの数式
コンテスト
ユーザー ciel
提出日時 2015-11-06 23:08:49
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
RE  
実行時間 -
コード長 637 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 216 ms
コンパイル使用メモリ 9,216 KB
実行使用メモリ 15,104 KB
最終ジャッジ日時 2026-04-04 05:30:27
合計ジャッジ時間 2,402 ms
ジャッジサーバーID
(参考情報)
judge3_1 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 RE * 1
other AC * 14 RE * 9
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.rb:2: warning: assigned but unused variable - n
Syntax OK

ソースコード

diff #
raw source code

#!/usr/bin/ruby
n=gets.to_i
digits=[]
ops=[]
gets.split.each{|e|
	begin
		digits<<Integer(e)
	rescue
		ops<<e
	end
}
factor_siz=digits.size-ops.size
digits.sort!
ops.sort!
if ops.all?{|e|e=='+'}
raise
	puts [
		digits[-factor_siz..-1].reverse.join.to_i+digits[0...-factor_siz].reduce(:+),
		digits[0...factor_siz].join.to_i+digits[factor_siz..-1].reduce(:+),
	]*' '
else
	largest_factor=digits[-factor_siz..-1].reverse.join
	digits=digits[0...-factor_siz]
	puts [
		eval(largest_factor+ops.zip(digits.reverse).map{|x,y|x+y.to_s}.join),
		eval(digits.zip(ops).map{|x,y|x.to_s+y}.join+largest_factor),
	]*' '
end

__END__
7
0 1 2 3 4 - - -
0