Can I fly high in the Sky?

Never say never.

导航

[华为oj]百钱百鸡问题

Posted on 2015-09-08 16:33  lsr_flying  阅读(226)  评论(0编辑  收藏  举报
#include <iostream>using namespace std;

int value[3]={5,3,1};
int weight[3]={1,1,3};
int num[3]={0,0,0};

int BuyHen(int money,int i)
{
    if(i==2)
    {
        if(money%value[i]==0)
        {
            num[i]=weight[i]*money/value[i];
            if(num[0]+num[1]+num[2]==100)
            {
              cout<<num[0]<<" "<<num[1]<<" "<<num[2]<<endl;
              return 1;
            }
        return 0;
    }

    for(int m=0;m<=money;m++)
    {
        if(m%value[i]==0)
        {
            num[i]=weight[i]*m/value[i];
            BuyHen(money-m,i+1);
        }
    }
}

int main()
{
    int i;
    cin>>i;
    BuyHen(100,0);
}