Pagini recente » Cod sursa (job #1825461) | Cod sursa (job #1068261) | Cod sursa (job #2906432) | Cod sursa (job #191467) | Cod sursa (job #2160379)
#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;
}