Cod sursa(job #1974109)

Utilizator alex273Groza Alexandru alex273 Data 26 aprilie 2017 20:45:31
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <iostream>
using namespace std;
int n,m,v[30],a[30][30],v1 [30],pret [30];
int suma;

void citire (){ cout<<"ok";
    cin>>n>>m;
    for(int i=1;i<=m;++i){
        cin>>a [i][1]>>a [i][2];
    for(int j=3;j<=a [i][2]+2;++j) cin>>a[i][j];} cout<<"ok1";
    for(int e=1;e<=n;++e)cin >>pret[e]; cout<<"ok2";
}

int verific (int n){
    int produs=1;
    for(int y=1;y <=n;++y) produs*=v [y];
    if (produs) { for (int t=1;t <=n;++t) v1 [t]=0; return 1;} 
                        else {for (int t=1;t <=n;++t) v1 [t]=0;return 0;}
}

void insert (int k){ int sm=0;
    for (int x=1;x <=k;++x) sm+=a [v[x]][2]; cout <<sm <<"sm ";
    if (sm==n) { cout <<"insert";
        for(int x=1;x <=k;++x) {int i=v [x]; for (int j=3;j <=a[i][2]+2;++j) v1 [a [i][j]]=a [i][1];}
        if (verific (n)) { suma=0; for (int y=1;y <=n;++y) suma+=pret [y]/v1 [y];cout <<suma;}
    }
}

void bkt (int k){cout <<"bkt"<<"\n";
    for (int x=v [k-1]+1;x <=m;++x){
        v [k]=x; insert (k); bkt (k+1);
    }
}

int main (){
    citire ();
     cout<<"\n"<<pret [3]<<" ";
    bkt (1);
    cout<<suma;
    return 0;
}