Cod sursa(job #1351076)

Utilizator robert_fanrRobert Banu robert_fanr Data 21 februarie 2015 10:13:34
Problema Diamant Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
using namespace std;
ifstream in("diamant.in");
ofstream out("diamant.out");

int n, m, calitate;

void citire() {
    in >> n >> m >> calitate;
}

int nrDiamantePosibile;

void bkt (int i, int j, int calitateCurenta) {
    if (i==n+1) {
        if (calitateCurenta == calitate)
            nrDiamantePosibile++;
        return;
    }
    if (j<m) {
        bkt(i, j+1, calitateCurenta-i*j);
        bkt(i, j+1, calitateCurenta);
        bkt(i, j+1, calitateCurenta+i*j);
    }
    else {
        bkt(i+1,1, calitateCurenta-i*j);
        bkt(i+1,1, calitateCurenta);
        bkt(i+1,1, calitateCurenta+i*j);
    }
}

void afisare() {
    out << nrDiamantePosibile;
}

int main()
{
    citire();
    bkt(1,1,0);
    afisare();
    return 0;
}