Cod sursa(job #805694)

Utilizator paunmatei7FMI Paun Matei paunmatei7 Data 31 octombrie 2012 22:00:33
Problema Diamant Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
#include<stdlib.h>
#define NMAX 100007
#define mod 10000
#define med 50000

using namespace std;

int n,m,x,sum,a[NMAX],b[NMAX];

int main()
{
	int n,m,i,j,x,val,k;

	freopen("diamant.in","r",stdin);
	freopen("diamant.out","w",stdout);

	scanf("%d %d %d",&n,&m,&x);

	for (i=1;i<=n;++i)
		for(j=1;j<=m;++j)
			sum+=i*j;
	a[med]=1;

	for(i=1;i<=n;++i)
		for(j=1;j<=m;++j)
		{
			val=i*j;
			for(k=-abs(sum);k<=abs(sum);++k)
				b[med+k]=(a[med+k]+a[med+k-val]+a[med+k+val])%mod;
			for(k=-abs(sum);k<=abs(sum);++k)
				a[med+k]=b[med+k];
		}

		printf("%d",a[med+x]);
	return 0;
}