Pagini recente » Cod sursa (job #597938) | Cod sursa (job #2011259) | Cod sursa (job #1459932) | Cod sursa (job #650743) | Cod sursa (job #1989531)
#include<fstream>
using namespace std;
ifstream in("diamant.in");
ofstream out("diamant.out");
int sum,i,j,v[4001],d,n,m,k,sol,mat[2][90200],bonus;
int main(){
in >> n >> m >> k;
for( i = 1; i <= n; i ++ ){
for( j = 1; j <= m; j ++ ){
v[++d]=i*j;
sum+=i*j;
}
}
sum+=n*m;
mat[0][sum] =1;
if( k < -1*sum || k > sum ){
out<<0;
}
else{
for( i = 1; i <= d; i ++ ){
for( j = -sum+n*m; j <= sum;j ++ ){
bonus = 0;
if(mat[(i-1)%2][j+sum-v[i]] > 0 ){
bonus = ( bonus + mat[(i-1)%2][j+sum-v[i]])%10000;
}
if( mat[(i-1)%2][j+sum+v[i]] > 0 ){
bonus = ( bonus + mat[(i-1)%2][j+sum+v[i]])%10000;
}
mat[i%2][j+sum] = (bonus + mat[(i-1)%2][j+sum])%10000;
}
}
out << mat[d%2][k+sum]%10000;
}
return 0;
}