Pagini recente » Cod sursa (job #2143769) | Cod sursa (job #1670847) | Cod sursa (job #1032154) | Cod sursa (job #1053749) | Cod sursa (job #3217217)
#include <fstream>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
ifstream fin ("diviz.in");
ofstream fout("diviz.out");
int n,z,k,sol,l,a,b,j,i,V[202],D[202][101],ant[202][102][11];
const int MOD=30103;
string s;
int main()
{
fin>>k>>a>>b;
fin>>s;
for(i=0;i<s.size();i++)
V[i+1]=s[i]-'0';
D[0][0]=1;
n=s.size();
for(i=1;i<=n;i++)
{
for(l=i-1;l>=0;l--)
for(j=k-1;j>=0;j--)
{
if(l==0&&j==0&&V[i]==0)
continue;
if(D[l][j])
{
int nj=(j*10+V[i])%k;
D[l+1][nj]=(D[l+1][nj]+D[l][j]-ant[l][j][V[i]])%MOD;
if(D[l+1][nj]<0)
D[l+1][nj]+=MOD;
ant[l][j][V[i]]=D[l][j];
}
}
}
sol=0;
for(i=a;i<=b;i++)
sol=(sol+D[i][0])%MOD;
fout<<sol%MOD;
return 0;
}