| 记录编号 | 
        44351 | 
        评测结果 | 
        AAAAAAAAAA | 
    
    
        | 题目名称 | 
        1174.[顾研NOIP] 幸运之数 | 
        最终得分 | 
        100 | 
            
    
    
        | 用户昵称 | 
         Czb。 | 
        是否通过 | 
        通过 | 
    
    
        | 代码语言 | 
        C++ | 
        运行时间 | 
        0.622 s  | 
    
    
        | 提交时间 | 
        2012-10-18 11:37:29 | 
        内存使用 | 
        0.30 MiB  | 
        
    
    
    
    		显示代码纯文本
		
		#include<stdio.h>
#include<queue>
using namespace std;
typedef long long Int;
Int x,y,ans;
int t,a[20],b[20];
queue <Int> Q;
void dfs(int k)
{
	if(k==0)
	{
		Int tmp=0,top=b[t+1];
		for(int i=t+1;i>0;i--)
		{
			tmp*=10;
			top*=10;
			tmp+=b[i];
		}
		for(Int i=tmp;i<=y;i+=top,top*=10)
		{
			Q.push(i);
		}
		return;
	}
	if(b[k+1]-a[k]>=0)
	{
		b[k]=b[k+1]-a[k];
		dfs(k-1);
	}
	if(b[k+1]+a[k]<10&&a[k]!=0)
	{
		b[k]=b[k+1]+a[k];
		dfs(k-1);
	}
}
void solve(Int k)
{
	if(k>=x&&k<=y)
		ans++;
	t=0;
	while(k)
	{
		a[++t]=k%10;
		k/=10;
	}
	for(int i=1;i<10;i++)
	{
		b[t+1]=i;
		dfs(t);
	}
}
void bfs()
{
	Q.push(7);
	while(!Q.empty())
	{
		solve(Q.front());
		Q.pop();
	}
}
int main()
{
	freopen("lucky.in","r",stdin);
	freopen("lucky.out","w",stdout);
	scanf("%lld%lld",&x,&y);
	bfs();
	printf("%lld\n",ans);
	return 0;
}