不懂就问
查看原帖
不懂就问
559503
j_steady楼主2022/8/5 16:42
#include <bits/stdc++.h>
using namespace std;
const int mod = 1000007;
int n,m,a[105],f[10005][105],cnt;
int main (){
	scanf ("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		scanf ("%d",&a[i]);
	}
	for(int i=0;i<=n;i++){
		f[i][0] = 1;
	}
	for(int i=1;i<=n;i++){
		for(int j=m;j>=1;j--){
			for(int k = 0;k <= min(j,a[i]);k++){
				f[i][j] = (f[i][j]+f[i-1][j-k]) %mod;
			}
		}
	}
	printf ("%d\n",f[n][m]%mod);
	return 0;
}

第二层j的循环里面为什么到1停止,蒟蒻不太明白0和1 的区别

2022/8/5 16:42
加载中...