Pagini recente » Cod sursa (job #2895157) | Cod sursa (job #322939) | Cod sursa (job #189482) | Cod sursa (job #2370515) | Cod sursa (job #7343)
Cod sursa(job #7343)
#include <stdio.h>
#include <string>
#define maxn 110
#define baza 30103
int mod,x,y,n,sol;
char v[maxn];
int c[maxn][maxn],d[maxn][maxn];
int main()
{
freopen("diviz.in","r",stdin);
freopen("diviz.out","w",stdout);
int i,j,k,aux;
scanf("%d %d %d ",&mod,&x,&y);
fgets(v,maxn,stdin);
n=strlen(v)-2;
c[0][0]=1;
for (i=0;i<=n;i++)
{
for (j=0;j<=i;j++)
for (k=0;k<mod;k++)
{
d[j][k]=c[j][k];
c[j][k]=0;
}
for (j=0;j<=i;j++)
for (k=0;k<mod;k++)
{
c[j][k]+=d[j][k];
if (c[j][k]>baza) c[j][k]-=baza;
aux=(k*10+v[i]-'0')%mod;
c[j+1][aux]+=d[j][k];
if (c[j+1][aux]>baza) c[j+1][aux]-=baza;
}
}
for (i=x;i<=y;i++)
{
sol+=c[i][0];
if (sol>baza) sol-=baza;
}
printf("%d\n",sol);
return 0;
}