Pagini recente » Cod sursa (job #1364541) | Cod sursa (job #2730397) | Cod sursa (job #3196285) | Cod sursa (job #464992) | Cod sursa (job #1359736)
#include<cstdio>
#include<cstring>
#define MOD 30103
int k,a,b,l,n,i,j,ii,ok,s,v[110],x[110][110][12],vd[110][110],xd[110][110];
char ss[110];
FILE *f,*g;
int main(){
f=fopen("diviz.in","r");
g=fopen("diviz.out","w");
fscanf(f,"%d%d%d%s",&k,&a,&b,ss);
n=strlen(ss);
for(i=0;i<n;i++){
v[i+1]=ss[i]-'0';
}
vd[0][0]=xd[0][0]=1;
for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
if( v[i] || j!=1 ){
for(ii=0;ii<k;ii++){
xd[j][ii]-=x[j][ii][ v[i] ];
if(xd[j][ii]<0)
xd[j][ii]+=MOD;
x[j][ii][ v[i] ]=0;
}
}
}
for(j=1;j<=i;j++){
if( v[i] || j!=1 ){
for(ii=0;ii<k;ii++){
xd[j][ ( ii * 10 + v[i] ) % k ] = ( xd[j][ ( ii * 10 + v[i] ) % k ] + vd[j-1][ii] )%MOD;
x[j][ ( ii * 10 + v[i] ) % k ][ v[i] ] = ( x[j][ ( ii * 10 + v[i] ) % k ][ v[i] ] + vd[j-1][ii] ) %MOD;
}
}
}
for(j=1;j<=n;j++){
for(ii=0;ii<k;ii++){
vd[j][ii]=xd[j][ii];
}
}
}
for(i=a;i<=b;i++){
s=( s + xd[i][0] ) % MOD;
}
fprintf(g,"%d",s);
fclose(f);
fclose(g);
return 0;
}