Pagini recente » Cod sursa (job #259653) | Cod sursa (job #1450723) | Cod sursa (job #864884) | Cod sursa (job #2621657) | Cod sursa (job #2268206)
#include <fstream>
using namespace std;
ifstream fin("zebughil.in");
ofstream fout("zebughil.out");
int N,G;
int bloc[20];
int camion[20];
int nrcamioane;
int rez;
void bkt(int bc) {
if(bc == N + 1) {
if(nrcamioane < rez)
rez = nrcamioane;
return;
} else {
for(int i = 1; i <= N; i++)
if(camion[i] + bloc[bc] <= G) {
if(camion[i] == 0)
nrcamioane++;
camion[i] += bloc[bc];
bkt(bc + 1);
if(camion[i] == bloc[bc])
nrcamioane--;
camion[i] -= bloc[bc];
}
}
}
int main() {
for(int j = 1; j <= 3; j++) {
fin >> N >> G;
for(int i = 1; i <= N; i++)
fin >> bloc[i];
rez = N;
bkt(1);
fout << rez << '\n';
}
return 0;
}