Mahim DSA 10
Mahim DSA 10
Lab Experiment-10
Dynamic Programming and Heuristics
Submitted by:
Name-Mahim Dixit Roll no.-102206250 Group-3EC1
CODE:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> weights = {10, 20, 30};
vector<int> values = {60, 100, 120};
int cap = 50;
int numberOfItems = weights.size();
solKnap(cap, weights, values, numberOfItems);
return 0;
}
OUTPUT:
CODE:
#include <iostream>
#include <vector>
#include <cmath>
int main() {
int boardSize = 8;
vector<int> queenPositions(boardSize, -1);
return 0;
}
OUTPUT:
Expected Output:
• Hamiltonian Cycle: A → B → C → D → A
• Total Cost: 1 + 2 + 5 + 4 = 12
CODE:
#include <iostream>
#include <vector>
#include <limits>
int main() {
vector<string> cityNames = {"A", "B", "C", "D"};
vector<vector<int>> distanceMatrix = {
{0, 1, 5, 4},
{1, 0, 2, 6},
{5, 2, 0, 3},
{4, 6, 3, 0}
};
visited[currentCity] = true;
tourPath.push_back(currentCity);
totalCost += distanceMatrix[currentCity][tourPath[0]];
tourPath.push_back(tourPath[0]);
cout << "Hamiltonian Cycle: ";
for (int cityIndex : tourPath) {
cout << cityNames[cityIndex] << " ";
}
cout << endl;
return 0;
}
OUTPUT: