hdu3652 b-number模板

Posted pandaking

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu3652 b-number模板相关的知识,希望对你有一定的参考价值。

hdu3652  b-number 模板

技术分享图片
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int dp[15][15][3];
 4 int bit[15];
 5 int n;
 6 
 7 int dfs(int pos,int mod,int have,int lim)
 8 {
 9     if(pos<=0)    return mod==0&&have==2;
10     if(lim==0&&dp[pos][mod][have]!=-1)  return dp[pos][mod][have];
11     int num=lim?bit[pos]:9;
12     int ans=0;
13     for(int i=0;i<=num;i++){
14         int mod_x=(mod*10+i)%13;
15         int have_x=have;
16         if(have==0&&i==1) have_x=1;
17         if(have==1&&i!=1) have_x=0;
18         if(have==1&&i==3) have_x=2;
19         ans+=dfs(pos-1,mod_x,have_x,lim&&i==num);
20     }
21     if(!lim) dp[pos][mod][have]=ans;
22     return ans;
23 }
24 
25 int main(){
26     while(scanf("%d",&n)!=EOF){
27         memset(dp,-1,sizeof(dp));
28         int len=0;
29         while(n>0){
30             bit[++len]=n%10;
31             n=n/10;
32         }
33         printf("%d
",dfs(len,0,0,1));
34     }
35     return 0;
36 }
View Code

 

以上是关于hdu3652 b-number模板的主要内容,如果未能解决你的问题,请参考以下文章

hdu 3652 B-number

HDU 3652 B-number(数位dp)

hdu3652 B-number 数位dp

HDU 3652 - B-number - [数位DP]

HDU - 3652 - B-number(数位DP)

HDU 3652 B-number