Pagini recente » Cod sursa (job #1380092) | Cod sursa (job #2353818) | Cod sursa (job #1532393) | Cod sursa (job #2327645) | Cod sursa (job #1112027)
#include<stdio.h>
#include<string.h>
#define NMAX 102
#define MOD 30103
int v[NMAX],f[12];
int n,k,a,b,sol;
int dp[2][NMAX][NMAX];
int main()
{
freopen("diviz.in","r",stdin);
freopen("diviz.out","w",stdout);
int i,j,r,lin;
char c;
scanf("%d%d%d\n",&k,&a,&b);
while(scanf("%c",&c)!=EOF)
v[++n]=c-'0';
--n;
dp[1][1][v[1]%k]=1;
lin=1;
for(i=1;i<=n;++i)
{
memset(dp[1-lin],0,sizeof(dp[1-lin]));
for(j=1;j<=i&&j<=b;++j)
{
for(r=0;r<k;++r)
{
dp[1-lin][j+1][(r*10+v[i])%k]=(dp[1-lin][j+1][(r*10+v[i])%k]+dp[lin][j][r])%MOD;
dp[1-lin][j][r]=(dp[1-lin][j][r]+dp[lin][j][r])%MOD;
}
}
lin=1-lin;
}
for(i=a;i<=b;++i)
sol=(sol+dp[1-lin][i][0])%MOD;
printf("%d\n",sol);
return 0;
}