結果
| 問題 |
No.528 10^9と10^9+7と回文
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-06-10 23:02:51 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 100 ms / 1,000 ms |
| コード長 | 515 bytes |
| コンパイル時間 | 297 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 12,800 KB |
| 最終ジャッジ日時 | 2024-07-23 18:34:17 |
| 合計ジャッジ時間 | 3,562 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 28 |
コンパイルメッセージ
Syntax OK
ソースコード
def ascan; gets.split.map(&:to_i); end
def scan; gets.to_i; end
nstr = gets.chomp
def solve(nstr, md)
sz = nstr.size
# 上位半分
r = nstr[0..((sz+1)/2-1)].to_i
# 下半分なら999...通りぐらいある
r+= 10**(sz/2) - 1
# 下半分の回文ができない
r-=1 if nstr[0..(sz/2-1)].reverse > nstr[((sz+1)/2)..-1]
return r%md
end
if nstr.size == 1
p nstr.to_i, nstr.to_i
else
p solve(nstr,(1e9).to_i)
p solve(nstr,(1e9+7).to_i)
end
# 参考: submissions/179227