Sei sulla pagina 1di 4

***************************************************** MONEY CHANGE

********************************************************************

#include <iostream>
using namespace std;
#include <string>

int main()
{
int num,quotient,n=3;
int arr[n] = {10,5,1};
cout << "Enter a number : ";
cin >> num;
cout << "The numbers combination is :" << endl;
for (int i=0; i<n ; i++) {
while(num >= arr[i]) {
num = num - arr[i];
cout << arr[i] << " ";
}
}
return 0;
}

***************************************************** CAR FUELING


********************************************************************
#include <iostream>
using namespace std;
int min_refills(int array[], int val, int fuel, int station)
{
int count = 0;
int new_location = 0;
int last_refill;

while (val >= new_location) {


last_refill = new_location;
while (new_location <= val && (array[new_location+1] -
array[last_refill]) <= fuel) {
new_location++;
}
if(new_location == last_refill)
{
return -1;
}

if (new_location <= val)


{
count++;
}
}

return count;
}
int main()
{
int num, total_st, tank;
int stations[10];
cout << "Enter the distance : ";
cin >> num;
cout << "Enter total capacity of fuel tank : ";
cin >> tank;
cout << "Enter total stations in the way : ";
cin >> total_st;
for (int i = 0; i < total_st; i++) {
cin >> stations[i];
}
cout << min_refills(stations, num, tank, total_st);
return 0;
}

***************************************************** MAXIMUM VALUE OF THE LOOT


********************************************************************

#include <iostream>
using namespace std;

int max(int first, int sec) {


if (first > sec)
return first;
else
return sec;
}

int knapsack(int pr[], int wts[], int n, int val) {


if (val < 0)
return INT_MIN;
if (n < 0 || val == 0)
return 0;
int input = pr[n] + knapsack(pr, wts, n - 1, val - wts[n]);
int out = knapsack(pr, wts, n - 1, val);
return max(input, out);
}
int main() {

cout << "How many values are there in house : ";


int values,capacity;
cin >> values;
cout << "Enter capacity of knapsack : ";
cin >> capacity;
int v[1000],w[1000];
cout << "Enter values or price of the wieghts : ";
for (int i = 0; i < values; i++) {
cin >> v[i];
}
cout << "Enter weights of same size : ";
for (int i = 0; i < values; i++) {
cin >> w[i];
}
int size = sizeof(v) / sizeof(v[0]);
cout << "Knapsack value is " << knapsack(v, w, size - 1, capacity);
return 0;
}

*********************************************************** MAXIMUM ADVERTISEMENT


REVENUE ***************************************************************

#include <algorithm>
#include <iostream>
using namespace std;

int revenue(int tot, int arr[], int rev[], int n, int m) {


int max_rev[tot+1];
int min_dist = 0;
for (int i = 0; i <= tot; i++) {
if (n > min_dist) {
if (arr[min_dist] != i) {
max_rev[i] = max_rev[i - 1];
}

else {
if (m <= i) {
max_rev[i] = max(max_rev[i-1], rev[min_dist]);
}
else {
max_rev[i] = max(max_rev[i-2], rev[min_dist+1]);
}
}

}
else {
return max_rev[i - 1];
}
return max_rev[tot];
}

int main() {
int n,size,miles;
cout << "Enter the value : ";
cin >> n;
cout << "Enter the size of array :";
cin >> size;
int a[100], b[100];
for (int i = 0; i < size; i++) {
cin >> a[i];
}
for (int i = 0; i < size; i++) {
cin >> b[i];
}
cout << "Enter the miles : ";
cin >> miles;
cout << revenue(n, a, b, size, miles) << endl;
}

Potrebbero piacerti anche