Pagini recente » Cod sursa (job #2687790) | Cod sursa (job #928858) | Cod sursa (job #2859424) | Cod sursa (job #1788596) | Cod sursa (job #1336152)
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n,i,j,k,p,q,l,sol;
int w[15][201];
int a[201][101];
int v[201];
char s[201];
int main()
{
freopen("diviz.in","r",stdin);
freopen("diviz.out","w",stdout);
scanf("%d %d %d\n",&k,&p,&q);
gets(s+1);
n=strlen(s+1);
for (i=1;i<=n;i++)
{
v[++v[0]]=s[i]-'0';
w[v[v[0]]][i]=1;
}
a[0][0]=1;
for (i=1;i<=n;i++)
for (l=min(i,q);l>=1;l--)
{
if (l==1&&v[i]==0) continue;
for (j=0;j<k;j++)
//if (a[l-1][j])
{
a[l][((j*10)+v[i])%k]
=(a[l][((j*10)+v[i])%k]+a[l-1][j]
-w[v[i]][l][((j*10)+v[i])%k]+30103)%30103;
W[v[i]][l][((j*10)+v[i])%k]
=(w[v[i]][l][((j*10)+v[i])%k]+a[l-1][j])%30103;
}
memcpy(w,W,sizeof(W));
}
sol=0;
for (l=p;l<=q;l++)
sol=(sol+a[l][0])%30103;
printf("%d",sol);
return 0;
}