Pagini recente » Flux si cuplaj | Cod sursa (job #1753714) | Cod sursa (job #1712043) | Cod sursa (job #1145784) | Cod sursa (job #3217643)
#include <bits/stdc++.h>
#define MOD 30103
using namespace std;
ifstream fin("diviz.in");
ofstream fout("diviz.out");
int k,a,b,i,ans,rest,j,l;
char sir[210];
int dp[205][105];
int main()
{
fin>>k>>a>>b;
fin>>sir;
l=strlen(sir);
//dp[0][0]=1;
for(i=l-1;i>=0;i--)
{
for(rest=0;rest<k;rest++)
if((rest+(sir[i]-'0')*10)%k==0 && sir[i]!='0')
for(j=a-1;j<=b-1;j++)
ans=(ans+dp[j][rest])%MOD;
for(rest=k-1;rest>=0;rest--)
for(j=b-1;j>=0;j--)
if(dp[j][rest]!=0)
dp[j+1][(rest+(sir[i]-'0')*10)%k]=(dp[j+1][(rest+(sir[i]-'0')*10)%k]+dp[j][rest])%MOD;
dp[1][(sir[i]-'0')%k]++;
}
fout<<ans;
return 0;
}