Pagini recente » Cod sursa (job #1163463) | Cod sursa (job #262444) | Cod sursa (job #1111747) | Cod sursa (job #2049619) | Cod sursa (job #1276949)
#include<cstdio>
using namespace std;
FILE *in = fopen("diamant.in","r");
FILE *out = fopen("diamant.out","w");
const int Lm = 80205;
const int MOD = 10000;
int v[Lm*2];
int fr[Lm*2];
int main (){
int n,m,x; fscanf(in,"%d%d%d",&n,&m,&x);
v[Lm]=1;
int st=Lm,dr=Lm,add,st1,dr1;
if(x>Lm){
fprintf(out,"0\n");
return 0;
}
for(int i = 1 ; i <= n ; i++)
for(int j = 1 ; j <= m ; j++){
add=i*j;st1=st;dr1=dr;
for(int k = st ; k <= dr ; k++){
if(v[k]){
fr[k+add]+=v[k]; dr1=dr1>k+add?dr1:k+add;
fr[k-add]+=v[k]; st1=st1<k-add?st1:k-add;
}
}
st=st1;dr=dr1;
for(int k = st ; k <= dr ; k++){
/*if(v[k]){
fprintf(out,"%d %d %d %d\n",k-Lm,v[k],i,j);
}*/
if(fr[k]){
v[k]+=fr[k];
v[k]%=MOD;
fr[k]=0;
}
}
}
fprintf(out,"%d\n",v[x+Lm]);
return 0;
}