Cod sursa(job #3134079)

Utilizator DragosStezarStezar Dragos Matei DragosStezar Data 28 mai 2023 13:03:27
Problema Problema rucsacului Scor 0
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <stdio.h>
#include <stdlib.h>

#define SIZE 5000

int n , g , maxim=0;

typedef struct obiect
{
    int greutate;
    int profit;
}obiect;

obiect array[SIZE];

void backtracking(int p_curent , int g_curent , int poz)
{
    if(p_curent>maxim)
    {
        maxim=p_curent;
    }
    for(int i=poz ; i<n ; i++)
    {
        if(array[i].greutate+g_curent<=g)
        {
            backtracking(array[i].profit+p_curent , array[i].greutate+g_curent , i+1);
        }
    }
}

int main(void)
{
    FILE *f=fopen("rucsac.in" , "r") , *g=fopen("rucsac.out" , "w");
    fscanf("%d %d" , &n , &g);
    for(int i=0 ; i<n ; i++)
    {
        fscanf("%d %d" , &array[i].greutate , &array[i].profit);
    }
    backtracking(0 , 0 , 0);
    fprintf("%d\n" , maxim);
    return 0;
}