Advertisement
Horikita_Suzune

Untitled

May 25th, 2019
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. #include<iostream>
  2. #include<vector>
  3. using namespace std;
  4. vector<int>coin;
  5. int money,sum=100;
  6. void change(int tempmoney,vector<int>ans,int j){
  7.  if(tempmoney==0){
  8.   int tempmin=0;
  9.   printf("(");
  10.   for(int i=0;i<ans.size();i++){
  11.    printf("%d",ans[i]);
  12.    if(i<ans.size()-1)printf(",");
  13.    tempmin+=ans[i];
  14.   }
  15.   printf(")\n");
  16.   if(tempmin<sum)sum=tempmin;
  17.  }
  18.  if(j<coin.size()){
  19.   for(int i=0;i<=money/coin[j];i++){
  20.    if(tempmoney-coin[j]<0)return;
  21.    if(i){tempmoney-=coin[j],ans[j]++;}
  22.    change(tempmoney,ans,j+1);
  23.   }
  24.  }
  25. }
  26. int main(){
  27.  int n;
  28.  while(scanf("%d",&n)==1){
  29.   vector<int>ans;
  30.   for(int i=1,in;i<=n;i++){
  31.    scanf("%d",&in);
  32.    coin.push_back(in);
  33.    ans.push_back(0);
  34.   }
  35.   scanf("%d",&money);
  36.   change(money,ans,0);
  37.   printf("%d\n\n",sum);
  38.   coin.clear();
  39.   ans.clear();
  40.   sum=100;
  41.  }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement