Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int oblicz(int tab[],int poziom,bool * formula)
- {
- int wynik=0;
- for(int i=0;i<poziom;i++)
- if(formula[i]==true)
- wynik+=tab[i];
- return wynik;
- }
- void sprawdz(int poziom,int stopnie[], int koszt[], bool* formula,int m,int &suma){
- int cena=oblicz(koszt,poziom,formula);
- if(oblicz(stopnie,poziom,formula) == 0 && cena!=0 && suma>cena)
- suma = cena;
- formula[poziom] = false;
- if(poziom<m && cena<suma)
- sprawdz(poziom+1,stopnie,koszt,formula,m,suma);
- formula[poziom] = true;
- if(poziom<m && cena<suma)
- sprawdz(poziom+1,stopnie,koszt,formula,m,suma);
- }
- int main()
- {
- int n;
- int m;
- int suma;
- cin>>n;
- for(int i=0;i<n;i++){
- cin>>m;
- int stopnie[m];
- int koszt[m];
- bool formula[m];
- suma=10001;
- for(int j=0;j<m;j++){
- cin>>stopnie[j];
- cin>>koszt[j];
- formula[j]=true;
- }
- sprawdz(0,stopnie,koszt,formula,m,suma);
- if(suma != 10001)
- cout<<suma<<endl;
- else cout<<"DEPRESJA"<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement