結果
| 問題 | No.927 Second Permutation |
| コンテスト | |
| ユーザー |
siman
|
| 提出日時 | 2020-08-11 12:25:21 |
| 言語 | Ruby (3.4.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 515 bytes |
| 記録 | |
| コンパイル時間 | 95 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 20,736 KB |
| 最終ジャッジ日時 | 2024-10-09 11:21:12 |
| 合計ジャッジ時間 | 7,774 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 WA * 1 |
| other | AC * 22 WA * 5 |
コンパイルメッセージ
Main.rb:9: warning: ambiguous first argument; put parentheses or a space even after `-' operator Main.rb:44: warning: ambiguous first argument; put parentheses or a space even after `-' operator Syntax OK
ソースコード
X = gets.to_i
N = X.to_s.size
counter = Hash.new(0)
nums = X.digits.sort.reverse.map(&:to_s)
vals = nums.uniq.map(&:to_s)
if vals.size < 2
puts -1
exit
end
nums.each do |n|
counter[n] += 1
end
ans = ''
while vals.size >= 3
v = vals.shift
counter[v].times do
ans << v
end
end
if vals.size >= 2
a = vals[-2]
b = vals[-1]
(counter[a] - 1).times do
ans << a
end
ans << b
ans << a
(counter[b] - 1).times do
ans << b
end
end
if ans[0] == 0
puts -1
else
puts ans
end
siman