c语言动态规划做法,样例能过,测试集全部WA
查看原帖
c语言动态规划做法,样例能过,测试集全部WA
784295
1064940827wo楼主2023/1/10 00:10
#include<stdio.h>
int main(){
    int msum=0,food=0;
    scanf("%d %d",&msum,&food);
    int mon[food+1];
    for(int i=1;i<=food;i++){
        scanf("%d",&mon[i]);
    }
    int dp[food+1][msum+1];
    for(int i=0;i<=msum;i++){
        dp[0][i]=0;
    }
    for(int i=1;i<=food+1;i++){
        dp[i][0]=1;
    }//对dp数组进行一些初始化操作

    for(int fcnt=1;fcnt<=food;fcnt++){
        for(int mcnt=1;mcnt<=msum;mcnt++){
            if(mon[fcnt]>mcnt){
                dp[fcnt][mcnt]=dp[fcnt-1][mcnt];
            }else{
                dp[fcnt][mcnt]=dp[fcnt-1][mcnt]+dp[fcnt-1][mcnt-mon[fcnt]];
            }


        }
    }
    printf("%d",dp[food][msum]);
    return 0;
}
2023/1/10 00:10
加载中...