P1164 小A点菜

P1164 小A点菜

d[i][j] : 前i个菜刚好花费j元的方案数

int d[200][10008]; 

int main() 
{
    int n,m;
    cin>>n>>m;
    int v[200];
    for(int i=1;i<=n;i++) cin>>v[i];
    d[1][0]=1;
    d[1][v[1]]=1;
    for(int i=2;i<=n;i++)
    {
        for(int j=0;j<=m;j++)
        {
            if(j>=v[i]) d[i][j]=(d[i-1][j-v[i]]+d[i-1][j]);
            else d[i][j]=d[i-1][j];     
        }
    }
    cout<<d[n][m]<<endl;
    return 0;
}

  

原文地址:https://www.cnblogs.com/liuyongliu/p/10297481.html