标签:技术 sizeof for scan 模板 ems none spl ==
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\n",dfs(len,0,0,1)); 34 } 35 return 0; 36 }
标签:技术 sizeof for scan 模板 ems none spl ==
原文地址:https://www.cnblogs.com/pandaking/p/9738769.html