关注
第三题动态规划:dp[i][j]表示前i个字符形成的整数对13的余数为j。如果一个数为n,对13的余数为j,若n后面又加了以为数k,那么新的数为n*10+k,这个新数对13的余数为(n*10+k)%13=(j*10+k)%13。所以代码为: #include <iostream>
#include<vector>
#include<string>
#include<algorithm>
#include<numeric>
#include<unordered_map>
#include<map>
#include<queue>
#include<unordered_set>
#include<set>
#include<iomanip>
#include<sstream>
#include<stack>
using namespace std;
int main()
{
string s;
cin>>s;
int len=s.size();
vector<vector<int>>dp(len+1,vector<int>(13,0));
dp[0][0]=1;
int M=1e9+7;
for(int i=0;i<len;++i){
for(int j=0;j<13;++j){
if(dp[i][j]!=0){
if(s[i]=='?'){
for(int k=0;k<10;++k){
dp[i+1][(j*10+k)%13]+=dp[i][j];
dp[i+1][(j*10+k)%13]%=M;
}
}
else{
dp[i+1][(j*10+s[i]-'0')%13]+=dp[i][j];
dp[i+1][(j*10+s[i]-'0')%13]%=M;
}
}
}
}
cout<<dp[len][5];
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
11-19 17:27
门头沟学院 嵌入式软件开发 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
172519次浏览 2919人参与
# 找工作,行业重要还是岗位重要? #
85261次浏览 1688人参与
# 职场上哪些行为很加分? #
306832次浏览 3452人参与
# 大家每天通勤多久? #
69730次浏览 442人参与
# 实习的内耗时刻 #
211118次浏览 1539人参与
# 你面试体验感最差/最好的公司 #
17586次浏览 290人参与
# 一人说一个提前实习的好处 #
10588次浏览 204人参与
# 今年你最想重开的一场面试是? #
4003次浏览 69人参与
# 秋招落幕,你是He or Be #
11933次浏览 237人参与
# 互联网行业现在还值得去吗 #
46901次浏览 351人参与
# 实习没事做是福还是祸? #
16628次浏览 254人参与
# 面试吐槽bot #
164986次浏览 814人参与
# 重来一次,你会对开始求职的自己说 #
6004次浏览 151人参与
# 反问环节如何提问 #
126363次浏览 2663人参与
# 礼物开箱Plog #
672次浏览 24人参与
# 工作中听到最受打击的一句话 #
6530次浏览 113人参与
# 团建是“福利”还是是 “渡劫” #
7115次浏览 150人参与
# 我的第一份实习怎么找的 #
208532次浏览 1827人参与
# 比亚迪工作体验 #
74683次浏览 281人参与
# 大家实习每天都在干啥 #
106510次浏览 581人参与

