怀疑是取模的问题
#include <bits/stdc++.h>
using namespace std;
#define int long long
int K,L,R;
const int N=25;
int dp[N][N][2070],f[N][N][2070];
const int mod=998244353;
int mx=(1<<11)-1;
int chk[2070];
int bt(int x){
int cnt=0;
while(x){
cnt+=(x&1);
x>>=1;
}
return cnt;
}
void init(){
for(int i=0;i<=9;i++){
dp[1][i][(1<<i)]=i;
f[1][i][(1<<i)]=1;
}
for(int i=2;i<=20;i++){
for(int j=0;j<=9;j++){
for(int k=0;k<=9;k++){
for(int l=0;l<=mx;l++){
dp[i][j][l|(1<<j)]+=dp[i-1][k][l];
dp[i][j][l|(1<<j)]+=j*f[i-1][k][l]*pow(10,i-1);
f[i][j][l|(1<<j)]+=f[i-1][k][l];
dp[i][j][l|(1<<j)]%=mod;
f[i][j][l|(1<<j)]%=mod;
}
}
}
}
for(int i=0;i<=mx;i++){
chk[i]=bt(i);
}
}
int a[N];
int calc(int x){
int len=0,ans=0;
while(x){
a[++len]=x%10;
x/=10;
}
for(int i=len-1;i>=1;i--){
for(int j=1;j<=9;j++){
for(int k=0;k<=mx;k++){
if(chk[k]<=K) ans+=dp[i][j][k];
ans%=mod;
}
}
}
for(int i=1;i<a[len];i++){
for(int j=0;j<=mx;j++){
if(chk[j]<=K) ans+=dp[len][i][j];
ans%=mod;
}
}
int cnt=(1<<a[len]),pr=a[len]*pow(10,len-1);
for(int i=len-1;i>=1;i--){
for(int j=0;j<a[i];j++){
for(int k=0;k<=mx;k++){
if(chk[(cnt|k)]<=K){
ans+=dp[i][j][k];
ans+=f[i][j][k]*pr;
ans%=mod;
}
}
}
pr+=a[i]*pow(10,i-1);
pr%=mod;
cnt|=(1<<a[i]);
}
return ans%mod;
}
signed main(){
init();
cin>>L>>R>>K;
cout<<((calc(R+1)-calc(L))%mod+mod)%mod;
}