Cod sursa(job #766493)

Utilizator radu_bucurRadu Bucur radu_bucur Data 11 iulie 2012 14:49:02
Problema Diamant Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
using namespace std;
ifstream in("diamant.in");
ofstream out("diamant.out");
int a[100001],b[100001],maxim,i,j,l,h,sum,n,m,val;
int main(){
	
	in>>n>>m>>val;
	
	sum=0;
	
	for (i=1;i<=n;i++)
		for (j=1;j<=m;j++)
		{
			sum=sum+i*j;
		}
	maxim=44200;
	a[maxim]=1;
	if (val>maxim) {
		out<<0;
		return 0;
	}
	for (i=1;i<=n;i++)
		for(j=1;j<=m;j++)
		{
			for (l=-sum;l<=sum;l++)
				b[l+maxim]=(a[l+maxim]+a[l+maxim+i*j]+a[l+maxim-i*j])%10000;
			for (h=-sum;h<=sum;h++)
				a[h+maxim]=b[h+maxim];
		}
	out<<b[val+maxim];
	return 0;
}