Cod sursa(job #2564330)

Utilizator Codrut112Codrut Copas Codrut112 Data 1 martie 2020 20:12:04
Problema Diamant Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("diamant.in");
ofstream g("diamant.out");
int n,m,i,j,dp[50000],l;
long long sum,s;
int main()
{
    f>>n>>m>>s;
    if(s<0)s=-s;
    for(i=1; i<=n; i++)
        for(j=1; j<=m; j++)sum=sum+i*j;
    if(s==sum)
    {
        g<<1;
        return 0;
    }
    if(s>sum){
        g<<0;
        return 0;
    }
    s=sum-s;
    dp[0]=1;

    for(i=1; i<=n; i++)
        for(j=1; j<=m; j++)
            for(l=s; l>=i*j; l--)
            {
                dp[l]+=dp[l-i*j];
                if(l>=2*i*j)
                    dp[l]+=dp[l-2*i*j];
                dp[l]=dp[l]%10000;
            }
    g<<dp[s];
}