結果

問題 No.372 It's automatic
ユーザー ei1333333
提出日時 2016-05-13 22:41:26
言語 C++11
(gcc 13.3.0)
結果
TLE  
実行時間 -
コード長 613 bytes
コンパイル時間 1,363 ms
コンパイル使用メモリ 168,112 KB
実行使用メモリ 13,632 KB
最終ジャッジ日時 2024-10-05 16:59:33
合計ジャッジ時間 8,887 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 1 TLE * 1 -- * 21
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include<bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
string S;
int M;
map< pair< int, int >, int > dp;
inline int rec(int idx, int value)
{
if(dp.find({idx, value}) != dp.end()) return(dp[{idx, value}]);
if(idx == S.size()) return(value == 0);
return(dp[{idx, value}] = rec(idx + 1, (value * 10 + S[idx]) % M) + rec(idx + 1, value) % mod);
}
int main()
{
cin >> S;
for(int i = 0; i < S.size(); i++) S[i] -= '0';
cin >> M;
int ret = 0;
for(int i = 0; i < S.size(); i++) {
if(S[i] == 0) ++ret;
else (ret += rec(i + 1, S[i] % M)) %= mod;
}
cout << ret << endl;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0