文件详细信息
本文件的大小为 654 字节。
#include<cstdio>
#include<cstring>
typedef long long ll;
ll a,b;
int c,digits[13],top;
ll f[13][13];
ll dfs(int digit,int limit,int zero,int cnt){
if(digit==-1)return cnt;
if(!limit&&!zero&&f[digit][cnt]!=-1)return f[digit][cnt];
int d=limit?digits[digit]:9;
ll ans=0;
for(int i=0;i<=d;i++)ans+=dfs(digit-1,limit&&i==d,!i&&zero,cnt+((i==c)&&(i||!zero)));
if(!limit&&!zero)f[digit][cnt]=ans;
return ans;
}
ll solve(ll n){
memset(f,-1,sizeof(f));
top=0;
while(n){
digits[top++]=n%10;
n/=10;
}
return dfs(top-1,1,1,0);
}
int main(){
scanf("%lld%lld",&a,&b);
for(c=0;c<=9;c++)printf("%lld%c",solve(b)-solve(a-1),c!=9?' ':'\n');
return 0;
}