Cod sursa(job #2124979)

Utilizator Baba_DorinBaba Dorin Baba_Dorin Data 7 februarie 2018 19:35:21
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
//Metoda imcompleta!!!!!

//knapsack problem
#include <iostream>
#include <fstream>
using namespace std;
//function for defining the maximum from 2 numbers;
int max (int a, int b){
	return (a>b)?a:b;
}

int knapsack(int W, int wt[], int n, int val[]){
	//Invalid imput
	if (n==0 || W==0) 
	return 0;
	if (wt[n-1]>W){
		return knapsack(W, wt, n-1, val);
	}
	else
		return max(val[n-1]+knapsack(W-wt[n-1], wt, n-1, val),
	knapsack (W, val, n-1, val));
}

ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");

int main(){	
	int W,n;
	fin>>n>>W;
	int val[n];
	int wt[n];
	
	for (int i=0; i<n; i++){
	fin>>wt[i]>>val[i];
	}
	fout<<knapsack (W, wt, n, val);
	fin.close();
	fout.close();
	return 0;
}