結果
| 問題 | No.189 SUPER HAPPY DAY |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-04-22 02:00:10 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 1,795 ms / 5,000 ms |
| コード長 | 835 bytes |
| コンパイル時間 | 188 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 13,824 KB |
| 最終ジャッジ日時 | 2024-07-04 23:48:23 |
| 合計ジャッジ時間 | 11,850 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 23 |
コンパイルメッセージ
Syntax OK
ソースコード
M, D = gets.split
def get_dp(s)
dp = []
# dp[0] = 1
size = 0
#puts "---------------"
s.each_char{|ch|
dp2 = []
num = ch.ord - '0'.ord
#puts "num=#{num}"
(0..9).each{|i|
(dp.size).downto(0).each{|j|
dp2[j+i] = dp2[j+i].to_i + dp[j].to_i
#puts "i=#{i}, j=#{j} dp2[#{j+i}]=#{dp2[j+i]}"
}
}
(0..num-1).each{|j|
dp2[j+size] = dp2[j+size].to_i + 1
#puts "j=#{j} size=#{size} dp2[j+size]=#{dp2[j+size]}"
}
dp = dp2
size += num
}
dp[size] += 1
return dp
end
dp1 = get_dp(M)
dp2 = get_dp(D)
total = 0
(1..dp1.size).each{|i|
cnt = dp1[i].to_i * dp2[i].to_i
total += cnt
#puts "i=#{i}, db1[i]=#{dp1[i]}, dp2[i]=#{dp2[i]}"
}
puts total % 1000000009