Mai intai trebuie sa te autentifici.
Cod sursa(job #361491)
Utilizator | Data | 5 noiembrie 2009 14:37:43 | |
---|---|---|---|
Problema | Diamant | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.63 kb |
#include<stdio.h>
#define Plus 450
int N,M,x,k=1;
int nr[420][900],Q;
int v[410];
int main()
{
freopen("diamant.in","r",stdin);
freopen("diamant.out","w",stdout);
scanf("%d %d %d",&N,&M,&x);
for(int i=1;i<=N;++i)
for(int j=1;j<=M;++j)
{
v[k]=i*j;
++k;
}
nr[0][0+Plus]=1;
Q=N*M;
for(int i=1;i<=Q;++i)
{
for(int j=Q*2;j>=(-Q)*2;--j)
{
nr[i][j+Plus]=nr[i-1][j+Plus]+nr[i-1][j+Plus+v[i]]+nr[i-1][j+Plus-v[i]];
nr[i][j+Plus]=nr[i][j+Plus]%10000;
}
}
printf("%d\n",nr[Q][x+Plus]);
}