⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 最少硬币问题.cpp

📁 王晓东算法设计与分析课后一些题目的源码。vc下全都编译通过。且在学校网站上提交通过。是学习算法较好的参考资料
💻 CPP
字号:
#include<iostream>
using namespace std;
int mat[11][222222];
int elem[111];
int a[111];
const int MAX=INT_MAX/2;
int min(int a,int b)
{
    if(a<b) return a;
    else return b;
}
int main()
{
    int n,i,j,k;
    while(cin>>n)
    {
        for(i=1;i<=n;i++)
        {
            cin>>elem[i]>>a[i];
        }
        int m;
        cin>>m;
        for(i=0;i<11;i++)
        {
            for(j=0;j<222222;j++)
            {
                mat[i][j]=MAX;
            }
        }
        mat[0][0]=0;
        for(i=1;i<=n;i++)
        {
            for(j=0;j<=m;j++)
            {
                for(k=0;k<=a[i];k++)
                {
                    mat[i][j]=min(mat[i][j],mat[i-1][j-k*elem[i]]+k);
                }
            }
        }
        if(mat[n][m]==MAX) cout<<-1<<endl;
        else cout<<mat[n][m]<<endl;
    }
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -