Nu aveti permisiuni pentru a descarca fisierul grader_test10.ok
Cod sursa(job #426004)
Utilizator | Mihai-Alexandru Dusmanu dushmi | Data | 26 martie 2010 12:43:22 |
---|---|---|---|
Problema | Diamant | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Simulare CNITV 2 | Marime | 0.56 kb |
#include<cstdio>
const int MOD=10000;
int n,m,val,MAX,mod[1<<16],mod1[1<<16];
inline int modul(int x)
{
return x>0?x:(-x);
}
int main()
{
freopen("diamant.in","r",stdin);
freopen("diamant.out","w",stdout);
scanf("%d%d%d",&n,&m,&val);
MAX=n*m*(n+1)*(m+1)/4;
if(val>MAX)
{
printf("0");
return 0;
}
mod[0]=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
for(int k=0;k<=MAX;k++)
mod1[k]=(mod[modul(k-i*j)]+mod[k]+mod[k+i*j])%MOD;
for(int k=0;k<=MAX;k++)
mod[k]=mod1[k];
}
printf("%d",mod[modul(val)]);
return 0;
}