結果
| 問題 | No.491 10^9+1と回文 |
| コンテスト | |
| ユーザー |
char134217728
|
| 提出日時 | 2017-09-15 17:46:16 |
| 言語 | Ruby (4.0.2) |
| 結果 |
AC
|
| 実行時間 | 55 ms / 1,000 ms |
| コード長 | 480 bytes |
| 記録 | |
| コンパイル時間 | 258 ms |
| コンパイル使用メモリ | 9,088 KB |
| 実行使用メモリ | 14,848 KB |
| 最終ジャッジ日時 | 2026-05-08 06:10:07 |
| 合計ジャッジ時間 | 8,245 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 103 |
コンパイルメッセージ
Syntax OK
ソースコード
n = gets.to_i
m = 10**9
a = n / m
b = n % m
a -= 1 if a > b
a = a.to_s.chars.map &:to_i
def f(a, z)
l = a.length
return 1 if l == 0
ret = 0
d = a[0]
d -= 1 unless z
if a[0] > a[-1]
b = a[1..-2].join.to_i
if b > 0
ret += f((b-1).to_s.rjust(l-2, ?0).chars.map(&:to_i), true)
end
else
ret += f(a[1..-2], true)
end
ret += d * f([9]*[(l-2),0].max, true)
ret
end
ans = 0
ans += f(a, false)
(1..a.length-1).each{|i| ans += f([9]*i, false)}
p ans
char134217728