openj 4004 01背包问题求方案数

时间:2023-03-08 21:10:20
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
#define ll long long int t,n,a[],dp[]; int main(){
scanf("%d%d",&n,&t);
for(int i=;i<=n;i++)scanf("%d",&a[i]);
memset(dp,,sizeof dp);
dp[]=;//初始条件
for(int i=;i<=n;i++)
for(int j=t;j>=a[i];j--)
dp[j]+=dp[j-a[i]];
printf("%d\n",dp[t]);
}