Hello,大家好
又到了人民群眾喜聞樂見的博客分享時間
今天我們要講的是:
洛谷P1164:小A點菜


(圖片截圖自洛谷,侵權請于30日行內系洗掉)
這道題……
轉移方程寫錯了我就沒轍了
只需要……
1 #include<iostream> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 int a[101],f[101][10001]={0}; 6 int main() 7 { 8 int n,m; 9 cin>>n>>m; 10 for(int i=1;i<=n;i++) 11 { 12 cin>>a[i]; 13 } 14 for(int i=1;i<=n;i++) 15 { 16 for(int j=1;j<=m;j++) 17 { 18 if(j==a[i]) 19 { 20 f[i][j]=f[i-1][j]+1; 21 } 22 if(j>a[i]) 23 { 24 f[i][j]=f[i-1][j]+f[i-1][j-a[i]]; 25 } 26 if(j<a[i]) 27 { 28 f[i][j]=f[i-1][j]; 29 } 30 } 31 } 32 cout<<f[n][m]; 33 return 0; 34 }
好了,解決了
這道題的轉移方程在三種情況下都各不同
所以如果搞亂……



拜了個拜
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/27273.html
標籤:C++
上一篇:C++和C#的對比
