Cod sursa(job #709387)

Utilizator valentina506Moraru Valentina valentina506 Data 8 martie 2012 01:30:26
Problema Diamant Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<fstream>
#define mod 10000
using namespace std;
int n,m,i,j,sol[100001],v[100001],k;
int cal,cmax,sum,s;
int main()
{
	freopen("diamant.in","r",stdin);
	freopen("diamant.out","w",stdout);
	
	scanf("%d %d %d",&n,&m,&cal);
	
	
	
     for(i=1;i<=n;++i)
		for(j=1;j<=m;++j)
			cmax+=i*j;
		
	if (cal>cmax||cal<-cmax) 
		printf("0\n");
	else 
		
	{
	v[cmax]= 1;
		
	for(i=1;i<=n;++i)
		for(j=1;j<=m;++j) 
		{
			for(k=-cmax;k<=cmax;++k)
				sol[k+cmax]=(v[k+cmax]+v[k+i*j+cmax]+v[k-i*j+cmax])%mod;
			
			for(k=-cmax;k<=cmax;++k)
				v[k+cmax]=sol[k+cmax];
		}
		printf("%d\n",sol[cal+cmax] );
	}
	
return 0;
}