#include <bits/stdc++.h>using namespace std;const int maxn=1e5+5;const int mod=1e9+7;char s[maxn];int dp[2][20];void add(int &a,int b){ a+=b; if (a>mod) a-=mod;}int cur=0;int main(){ cin >> s; int len=strlen(s); dp[1][0]=1; for (int i=0;i<len;cur^=1,i++){ memset(dp[cur],0,sizeof(dp[cur])); if (s[i]!='?'){ for (int j=0;j<13;j++) add(dp[cur][(j*10+s[i]-'0')%13],dp[cur^1][j]); }else{ for (int j=0;j<13;j++) for (int k=0;k<10;k++){ add(dp[cur][(j*10+k)%13],dp[cur^1][j]); } } } cout << dp[cur^1][5] << '\n';}第三题ac
点赞 1

相关推荐

代码飞升:别这样贬低自己,降低预期,放平心态,跟昨天的自己比。做好自己,反而会效率更高心态更好,加油兄弟
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务