贪心-硬币问题(白皮书例1)

//硬币问题
#include <cstdio>
#include <iostream>
using namespace std;
const int V[6]={1,5,10,50,100,500};
int C[6];
int A;
int main()
{
    int i;
    int ans=0;
    for(i=5;i>=0;i--)   //贪心是一种最优策略,贯彻这种策略就可以解决问题
    {
        int t=min(A/V[i],C[i]);
        A-=t*V[i];
        ans+=t;
    }
    printf("%d\n",ans);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/xigongdali/article/details/81433978