結果

問題 No.491 10^9+1と回文
ユーザー char134217728
提出日時 2017-09-15 17:45:08
言語 Ruby
(3.4.1)
結果
WA  
実行時間 -
コード長 484 bytes
コンパイル時間 60 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,416 KB
最終ジャッジ日時 2024-11-07 22:51:44
合計ジャッジ時間 12,651 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 99 WA * 4
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

n = gets.to_i
m = 10**9 + 1
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
0