Cod sursa(job #2575693)

Utilizator RazvanucuPopan Razvan Calin Razvanucu Data 6 martie 2020 15:03:38
Problema Diamant Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("diamant.in");
ofstream g("diamant.out");
int N,M,X,sum,nr,v[405],cnt;
const int c=10000,Mx=44100;
int dp[4500][44500];
int main()
{
    f>>N>>M>>X;
    for(int i=1; i<=N; i++)
        for(int j=1; j<=M; j++)
        {
            sum+=(i*j);
                        v[++cnt]=i*j;
        }
    if(sum==X)
        g<<1;
    else
    {
        if(sum<X || X<-sum)
            g<<0;
         else{

            dp[0][X]=1;
            for(int i=1;i<=M*N;i++)
            {
                for(int j=0;j<=2*X;j++)
                    dp[i][j+X]=dp[i-1][j+X-v[i]]+dp[i-1][j+X+v[i]]+dp[i-1][j+X];


            }


         }
      g<<dp[N*M][X];
    }

    return 0;
}