问题标题: 酷町堂:1216 硬币找零 0分

0
0
已解决
王光裕
王光裕
资深光能
资深光能

代码如下:

  • #include<bits/stdc++.h>
  • using namespace std;
  • int n,t,w[100],f[100][100];
  • int main()
  • {
  • while (1)
  • {
  • cin>>n>>t;
  • if (n==0&&t==0) break;
  • for (int i=1;i<=n;i++)
  • {
  • cin>>w[i];
  • }
  • for (int i=0;i<=n;i++)
  • {
  • f[i][0]=0;
  • }
  • for (int j=1;j<=t;j++)
  • {
  • f[0][j]=0;
  • }
  • for (int i=1;i<=n;i++)
  • {
  • for (int j=1;j<=t;j++)
  • {
  • if (j>=w[i])
  • {
  • if (f[i-1][j]==0)
  • {
  • f[i][j]=f[i][j-w[i]]+1;
  • }
  • else
  • {
  • f[i][j]=min(f[i-1][j],f[i][j-w[i]]+1);
  • }
  • }
  • else
  • {
  • f[i][j]=f[i-1][j];
  • }
  • }
  • }
  • cout<<f[n][t]<<endl;
  • }
  • }

求解答


0
我要回答