Pagini recente » Cod sursa (job #1242540) | Cod sursa (job #3206033) | Cod sursa (job #731985) | Cod sursa (job #1833638) | Cod sursa (job #1559362)
#include <bits/stdc++.h>
using namespace std;
ifstream in("diamant.in");
ofstream out("diamant.out");
//http://www.infoarena.ro/problema/diamant
#define MAX 45108
#define MOD 10000
int dp[2*MAX],aux[2*MAX];
int main()
{ long n,m,x;
in>>n>>m>>x;
int maxi=((n+1)*n)/2;
maxi=maxi*((m+1)*m)/2;
if(abs(x)>maxi){out<<0;return 0;}
int zero=MAX-1008;
x=x+zero;
dp[zero]=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{ for(int k=0;k<=maxi+zero;k++)
aux[k]=dp[k];
for(int k=0;k<=maxi+zero;k++)
{
dp[k]=(aux[k]+aux[k-i*j]+aux[k+i*j])%MOD;
//
}
}
out<<dp[x];
return 0;
}