Magic pocket knapsack problem dynamic programming dp

Here Insert Picture Description
Here Insert Picture Description

#include<stdio.h>

int dp[205],sum[405];

int main(){
	int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
        scanf(" %d",&dp[i]);
    sum[0]=1;
    for(int i=0;i<n;i++)
        for(int j=400;j>=dp[i];j--){
            sum[j]=(sum[j]+sum[j-dp[i]])%10000;
        }
    printf("%d",sum[400]);
    return 0;
}
Published 13 original articles · won praise 13 · views 325

Guess you like

Origin blog.csdn.net/qq_43320728/article/details/104552624