結果
問題 | No.189 SUPER HAPPY DAY |
ユーザー |
|
提出日時 | 2024-04-27 11:14:40 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 5 ms / 5,000 ms |
コード長 | 914 bytes |
コンパイル時間 | 1,655 ms |
コンパイル使用メモリ | 168,940 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-15 12:41:57 |
合計ジャッジ時間 | 2,530 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
#include <bits/stdc++.h>using namespace std;const int p {1000000009};int main() {string m, d;cin >> m >> d;int s {}, mx[1801] {}, dx[1801] {};for (int i = 0; i < m.size(); ++i) {long long c[2000] {};for (int j = 0; j < m[i] - '0'; ++j) c[s+j] = 1;for (int j = 0; j < 10; ++j) {for (int k = 0; k < i * 9; ++k) c[k+j] += mx[k];}s += m[i] - '0';for (int j = 0; j < (i + 1) * 9; ++j) mx[j] = c[j] % p;}++mx[s];s = 0;for (int i = 0; i < d.size(); ++i) {long long c[2000] {};for (int j = 0; j < d[i] - '0'; ++j) c[s+j] = 1;for (int j = 0; j < 10; ++j) {for (int k = 0; k < i * 9; ++k) c[k+j] += dx[k];}s += d[i] - '0';for (int j = 0; j < (1 + i) * 9; ++j) dx[j] = c[j] % p;}++dx[s];long long an {};for (int i = 1; i <= 1800; ++i) {an = (an + mx[i] * (long long)dx[i]) % p;}cout << an << '\n';}