#20511: 不好意思 我的第一行一直錯請問可以綁我找問題嗎感謝


Kurtis (yyyyyyyyy)

學校 : 臺中市私立明道高級中學
編號 : 110649
來源 : [36.234.48.251]
最後登入時間 :
2025-10-05 09:54:27

#include<bits/stdc++.h>
using namespace std;
long long int n,w,dp[101][101];
int h[100],v[100];
void scan()
{

for(int i=0;i<n;i++)
{
cin>>h[i];cin>>v[i];
}
cin>>w;
}
int f(int i,int j)
{
if(dp[i][j]!=-1)return dp[i][j];
if(i==n)return 0;
else if(j<h[i])
{
return dp[i][j]=f(i+1,j);
}
else
{
return dp[i][j]=max(f(i+1,j),f(i+1,j-h[i])+v[i]);
}
}
int main(void)
{
while(cin>>n)
{
memset(dp,-1,sizeof(dp));
scan();
cout<<f(0,w)<<endl;
}

return 0;
}

#20512: Re:不好意思 我的第一行一直錯請問可以綁我找問題嗎感謝


jerry860307 (anonimo)

學校 : 臺北市立建國高級中學
編號 : 51243
來源 : [123.194.159.22]
最後登入時間 :
2020-02-27 00:55:08

陣列宣告的大小有問題哦!