Cod sursa(job #723387)
| Utilizator | Data | 25 martie 2012 13:58:38 | |
|---|---|---|---|
| Problema | Diamant | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <stdio.h>
#define s ((n)*(n+1)*(m)*(m+1))/(4)
using namespace std;
int n,m,x,a[2][100000],la,lb=1;
int main()
{
freopen ("diamant.in","r",stdin);
freopen ("diamant.out","w",stdout);
scanf("%d %d %d", &n, &m, &x);
a[lb][s]=1;
for(int i=1 ; i<=n ; ++i)
for(int j=1 ; j<=m ; ++j, lb=la, la=1-la )
for(int k=0, p=i*j ; k <= 2*s ; ++k )
a[la][k] = a[lb][k] + a[lb][k+p] + a[lb][k-p];
printf("%d", a[lb][x+s]);
return 0;
}
