仿照 数位dp 写的
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=20;
ll l,r,f[N],p[N];
ll ans1[N],ans2[N];
int a[N];
inline void solve(ll n,ll *ans){
ll tmp=n;
int len=0;
while(tmp){
a[++len]=tmp%10;
tmp/=10;
}
for(int i=len;i>=1;i--){
for(int j=0;j<10;j++) ans[j]+=f[j]*a[i];
for(int j=0;j<a[i];j++) ans[j]+=p[i-1];
n-=p[i-1]*a[i];
ans[a[i]]+=n+1;
ans[0]-=p[i-1];
}
}
signed main(){
cin>>l>>r;
p[0]=1;
for(int i=1;i<=13;i++){
f[i]=f[i-1]*10+p[i];
p[i]=p[i-1]*10;
}
solve(r,ans1);
solve(l-1,ans2);
for(int i=0;i<10;i++)
cout<<ans1[i]-ans2[i]<<' ';
return 0;
}