WA了第7个点,这是代码
#include<bits/stdc++.h>
using namespace std;
long long f[15],l=1;
int main(){
for(int i=2;i<=12;i++){
f[i]=f[i-1]*10+l;
l*=10;
}
long long a,b,ansa[10],ansb[10];
memset(ansa,0,sizeof(ansa));
memset(ansb,0,sizeof(ansb));
cin>>a>>b;
a--;
bool flag[2]={false,false};
for(int i=12;i>0;i--){
long long c=a/l,d=b/l;
c%=10;d%=10;
for(int j=0;j<=9;j++){
ansa[j]+=f[i]*c;
ansb[j]+=f[i]*d;
}
if(c>0 && !flag[0]) for(int j=l/10;j>=1;j/=10) ansa[0]-=j;
if(d>0 && !flag[1]) for(int j=l/10;j>=1;j/=10) ansb[0]-=j;
if(flag[0]){
for(int j=0;j<c;j++) ansa[j]+=l;
}
else for(int j=1;j<c;j++) ansa[j]+=l;
if(c || flag[0]) ansa[c]+=a%l+1;
if(flag[1]){
for(int j=0;j<d;j++) ansb[j]+=l;
}
else for(int j=1;j<d;j++) ansb[j]+=l;
if(d || flag[1]) ansb[d]+=b%l+1;
if(c) flag[0]=true;
if(d) flag[1]=true;
l/=10;
}
// if(a<10 && b>=10) ansa[0]=1;
if(a == -1) ansa[0]--;
for(int i=0;i<=9;i++){
cout<<ansb[i]-ansa[i]<<" ";
}
return 0;
}