Pagini recente » Monitorul de evaluare | Cod sursa (job #2289128) | Cod sursa (job #1951844) | Profil faratitlu | Cod sursa (job #1900188)
#include <fstream>
#include <cstdlib>
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
int dp[81][44105],cost[81];
int main()
{
int n,m,x,i,j;
fin>>n>>m>>x;
int rez=0;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
rez+=i*j;
cost[(i-1)*n+j]=i*j;
dp[(i-1)*n+j][i*j]=1;
}
}
if(x>rez) {fout<<0;exit(0);}
int tot=n*m;
for(i=2;i<=tot;i++)
{
for(j=1;j<=rez;j++)
{
dp[i][j]+=dp[i-1][j];
if(j>cost[i]) dp[i][j]+=dp[i-1][j-cost[i]];
}
}
int sum=0;
for(i=1;i<=tot;i++) sum+=dp[i][x];
fout<<sum;
}