标签:
#include<cstdio> typedef long long lint; lint c[16]={0}; lint p10[16]={1}; lint l,r; lint f[16]; void F(lint x){ if(!x)return; int v[16],p=0; while(x)f[v[++p]=x%10]++,x/=10; for(int i=1;i<v[p];i++){ for(int j=0;j<=9;j++)f[j]+=c[p-1]; f[i]+=p10[p-1]; } for(int k=p-1;k>=1;k--){ for(int i=0;i<v[k];i++){ for(int j=0;j<=9;j++)f[j]+=c[k-1]; f[i]+=p10[k-1]; for(int j=p;j>k;j--)f[v[j]]+=p10[k-1]; } } } int main(){ for(int i=1;i<16;i++)p10[i]=p10[i-1]*10; for(int i=1;i<16;i++)c[i]=c[i-1]*10+p10[i-1]; scanf("%lld%lld",&l,&r); --l; F(l); for(int i=0;p10[i]-1<l;i++)F(p10[i]-1); for(int i=0;i<16;i++)f[i]=-f[i]; F(r); for(int i=0;p10[i]-1<r;i++)F(p10[i]-1); printf("%lld",f[0]); for(int i=1;i<=9;i++)printf(" %lld",f[i]); return 0; }
标签:
原文地址:http://www.cnblogs.com/ccz181078/p/5212607.html