Cod sursa(job #497223)

Utilizator ConsstantinTabacu Raul Consstantin Data 1 noiembrie 2010 21:13:18
Problema Diviz Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>
#include<string.h>
int a[ 205 ][ 205 ],sol,i,j,k,l,A,B,n;
char x[ 205 ];
void citire(){
freopen("diviz.in","r",stdin);
scanf("%d %d %d",&A,&B,&k);
scanf("%s",x);
}

void solve(){
n = strlen(x);
int N,i,j,t,r;

for(t = 0 ; t < n ; t++){
	N = (x[t] - '0')%k;
	for(i = B-1;i>0;i--)
		for(j = 0;j<k;j++)
			if(a[i][j])
				{r = (j*10 + N)%k;
				if(!r && i>=A)
					sol+= a[i][j];
				a[i+1][r] += a[i][j];
				}
	
	a[1][N]++;
	if(!N && (1>=A)&&(1<=B))
		sol++;
	} 

}

void afisare(){
freopen("diviz.out","w",stdout);

printf("%d",sol);
}
int main(){
citire();
solve();
afisare();
return 0;}