Cod sursa(job #744398)

Utilizator scipianusFMI Ciprian Olariu scipianus Data 8 mai 2012 16:58:10
Problema Diamant Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
#include<cmath>
#define MOD 10000
using namespace std;
int n,m,K,maxim,best[2][165000];

int main()
{
	int i,j,k;
	ifstream fin("diamant.in");
	fin>>n>>m>>K;
	fin.close();
	
	maxim=(n*(n+1)/2)*(m*(m+1)/2)*2;
	best[0][0]=1;
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=m;j++)
		{
			for(k=0;k<=maxim;k++)
			{
				best[1][k]=best[0][k]+best[0][k+i*j]+best[0][(int)abs(k-i*j)];
				best[1][k]%=MOD;
			}
			for(k=0;k<=maxim;k++)
				best[0][k]=best[1][k];
		}
	}
	
	ofstream fout("diamant.out");
	if(maxim<(int)abs(K))
		fout<<"0\n";
	else
		fout<<best[0][(int)abs(K)]<<"\n";
	fout.close();
	return 0;
}