Cod sursa(job #2565814)

Utilizator RazvanucuPopan Razvan Calin Razvanucu Data 2 martie 2020 16:57:25
Problema Diamant Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 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,s;
int dp;
void Bkt(int k)
{
    if(k<=M*N)
    {
        v[k]=-1;
        Bkt(k+1);
        v[k]=0;
        Bkt(k+1);
        v[k]=1;
        Bkt(k+1);
    }
    else
    {
        cnt=0;
        dp++;
        s=0;
        for(int i=1; i<=N; i++)
            for(int j=1; j<=M; j++)
             s+=v[++cnt]*i*j;
            if(s==X)
                nr++;
    }
}
int main()
{
    f>>N>>M>>X;
    for(int i=1; i<=N; i++)
        for(int j=1; j<=M; j++)
            sum+=(i*j);
    if(sum<X)
        g<<0;
    if(sum==X)
        g<<1;
    else Bkt(1);
    g<<nr;
    return 0;
}