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;
- }
- }
求解答