Cod sursa(job #1098965)

Utilizator gaby1995Calin Gabriel Iulian gaby1995 Data 5 februarie 2014 13:05:45
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>

#define Nmax 40

//TODO declara mask local cu 2^n
int n, mask[Nmax], w;

struct reactor {
    int e,c;
} v[Nmax];

int next(int mask[]) {
    int i ;

    for (i = 0 ; i < n && mask[i]; i ++)
        mask[i] = 0;

    if (i < n) {
        mask[i] = 1;
        return 1;
    }
    return 0;
}

void print(int mask[]) {

    for (int i = 0 ; i < n ; i ++)
        printf("%d ", mask[i]);
    printf("\n");
}
int main()
{

    freopen("energii.in", "r", stdin);
    freopen("energii.out", "w", stdout);

    scanf("%d", &n);

    scanf("%d", &w);

    for (int i = 0 ; i < n ; i++) {
        scanf("%d %d", &v[i].e, &v[i].c);
    }


    int et = 0;
    int ct = 0;

    while (next(mask)) {
      et=ct=0;

    for (int i = 0 ; i < n ; i ++)
        if (mask[i]) {
            et += v[i].e;
            ct += v[i].c;
            }

    if (et == w) {
        printf("%d", ct);
        break;
    }

}


    return 0;
}