B-number HDU - 3652

题目链接

十分简单,与不要62几乎相同,关键是对驱魔(取模)的运算

re数组于是就显得十分重要。

#include 
#include 
using namespace std;
int n;
int b[21];
int re[21];
int dp[21][2][2][14];
int dfs(int pos,int preok,int pre1,int pre13,int num)
{
	if(pos==-1)
	{
		return (!num)&&pre13;
	}  
	if(preok&&dp[pos][pre1][pre13][num]!=-1) return dp[pos][pre1][pre13][num];
	int up=preok?9:b[pos],sum=0;
	for(int i=0;i<=up;i++)
	{
		sum+=dfs(pos-1,preok||i

 

你可能感兴趣的:(数位dp)