Cod sursa(job #2160379)

Utilizator Constantin.Dragancea Constantin Constantin. Data 11 martie 2018 12:41:59
Problema Cowfood Scor 10
Compilator cpp Status done
Runda Lista lui wefgef Marime 0.71 kb
#include <bits/stdc++.h>
using namespace std;

int n, k, s, a[50], nr, nr2, csum;

void bktr(int q){
    if (q == k){
        nr++;
        return;
    }
    for (int i=1; i + csum <= s - (k - q - 1); i++) csum += i, bktr(q+1), csum -= i;
}

void bktr2(int q){
    if (csum == s || q == k){
        nr2++;
        return;
    }
    for (int i=0; csum + i<= s; i++) csum += i, bktr2(q+1), csum -= i;
}

int main(){
    ifstream cin ("cowfood.in");
    ofstream cout ("cowfood.out");
    cin >> k >> s >> n;
    bktr(0);
    for (int i=1; i<=n; i++){
        csum = 0;
        for (int j=1; j<=k; j++) cin >> a[j], csum += a[j];
        bktr2(0);
    }
    cout << nr - nr2;
    return 0;
}