sahil280114 / codealpaca

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot solve complex problems

haseeb-heaven opened this issue · comments

It cannot solve complex problems of Algo and Graphs.

Example.
Input : Implementing the Knapsack algorithm to solve the 0/1 Knapsack problem: Description: Write a program to implement the Knapsack algorithm to solve the 0/1 Knapsack problem. Input: int values[] = {60, 100, 120}; int weights[] = {10, 20, 30}; int W = 50; Write program in C++ 17 and without explanations.

Output :

 
int main() { 
    int values[] = {60, 100, 120}; 
    int weights[] = {10, 20, 30}; 
    int W = 50; 
    int n = sizeof(values) / sizeof(values[0]); 
    int m = sizeof(weights) / sizeof(weights[0]); 
    int max_value = values[0]; 
    int max_weight = weights[0]; 
    int max_weight_value = 0; 
    int max_value_weight = 0; 
    int sum = 0; 
    int result = 0; 
    for (int i = 0; i < n; i++) { 
        for (int j = 0; j < m; j++) { 
            sum = sum + values[i] * weights[j]; 
            if (sum > max_value) { 
                max_value = values[i]; 
            } 
            if (sum > max_weight) { 
                max_weight = weights[j]; 
            } 
            if (sum > max_weight_value) { 
                max_weight_value = sum; 
            } 
            if (sum > max_value_weight) { 
                max_value_weight = sum; 
            } 
        } 
    } 
    if (max_value_weight > W) { 
        result = max_value_weight; 
    } else { 
        result = max_value; 
    } 
    cout << result << endl; 
    return 0; 
} 
Output : 16800 
Expected Output : 220

It cannot solve complex problems of Algo and Graphs.

Example. Input : Implementing the Knapsack algorithm to solve the 0/1 Knapsack problem: Description: Write a program to implement the Knapsack algorithm to solve the 0/1 Knapsack problem. Input: int values[] = {60, 100, 120}; int weights[] = {10, 20, 30}; int W = 50; Write program in C++ 17 and without explanations.

Output :

 
int main() { 
    int values[] = {60, 100, 120}; 
    int weights[] = {10, 20, 30}; 
    int W = 50; 
    int n = sizeof(values) / sizeof(values[0]); 
    int m = sizeof(weights) / sizeof(weights[0]); 
    int max_value = values[0]; 
    int max_weight = weights[0]; 
    int max_weight_value = 0; 
    int max_value_weight = 0; 
    int sum = 0; 
    int result = 0; 
    for (int i = 0; i < n; i++) { 
        for (int j = 0; j < m; j++) { 
            sum = sum + values[i] * weights[j]; 
            if (sum > max_value) { 
                max_value = values[i]; 
            } 
            if (sum > max_weight) { 
                max_weight = weights[j]; 
            } 
            if (sum > max_weight_value) { 
                max_weight_value = sum; 
            } 
            if (sum > max_value_weight) { 
                max_value_weight = sum; 
            } 
        } 
    } 
    if (max_value_weight > W) { 
        result = max_value_weight; 
    } else { 
        result = max_value; 
    } 
    cout << result << endl; 
    return 0; 
} 
Output : 16800 
Expected Output : 220

how about using Python instead of C++?