|Vijos | NOIP2012 | 동적 기획 | P1792 플라워

https://vijos.org/p/1792
다중 가방 방안 수 변형 문제
#include
#include
#include
#include
#include
#define ms(i,j) memset(i,j,sizeof(i));
using namespace std;
const int maxn = 100 + 5;
int n,m;
int a[maxn];
int f[maxn];
int main()
{
	scanf("%d%d", &n, &m);
	for (int i=1;i<=n;i++)
	{
		scanf("%d", &a[i]); 
	}
	ms(f,0);f[0] = 1;
	for (int i=1;i<=n;i++)
	for (int j=m;j>=0;j--)
	for (int k=1;k<=a[i];k++)
	{
		if (j-k>=0) f[j] = (f[j]+f[j-k])%1000007;
	}
	printf("%d
", f[m]%1000007); return 0; }

좋은 웹페이지 즐겨찾기