#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

相关推荐

在写周报的打工人很独...:这个笔试昨天晚上做了一下,真难啊,前后端,ai全有
点赞 评论 收藏
分享
10-30 16:31
重庆大学 Java
代码飞升_不回私信人...:你说你善于学习,大家都会说。你说你是985,985会替你表达一切
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务