Cod sursa(job #133069)

Utilizator razvi9Jurca Razvan razvi9 Data 7 februarie 2008 13:55:48
Problema Diviz Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<fstream>
const int mod=30103;
int K,a,b,i,s[201][201][100],c,j,k,l,nr;
char cif[201];
int main()
{
	freopen("diviz.in","r",stdin);
	freopen("diviz.out","w",stdout);
	scanf("%d %d %d %s",&K,&a,&b,cif);
	s[0][0][0]=1;
	while(cif[i]){
		c=cif[i]-'0';
		i++;
		for(j=1;j<=i;j++)
			if(j>1 || c!=0)
			for(k=j-1;k<i;k++)
				for(l=0;l<K;l++)
					s[j][i][(l*10+c)%K]=(s[j][i][(l*10+c)%K]+s[j-1][k][l])%mod;}
	for(j=1;j<=i;j++)
		for(k=a;k<=b && k<=j;k++)
			nr=(nr+s[k][j][0])%mod;
	printf("%d\n",nr);
	fclose(stdout);
	return 0;
}