UVA10943 How do you add?

发布时间 2023-04-17 15:02:49作者: towboat

两个数 n,m,求 用 m[0,n] 的整数相加使其和为 n 的方案数。

 

 

#include <iostream>
#include <cstring>
#include <sstream>
using namespace std;
const int N =102;
const int mod =1e6;
int n,m,f[N][N];
 void sov(){
 	memset(f,0,sizeof f);
 	int i,j,k; 
 	for(i=0;i<=n;i++) f[i][1]=1;
 	for(k=1;k<=m;k++)
 		for(j=0;j<=n;++j)
 			for(i=0;i<=j;i++)
 	  	f[j][k]+=f[j-i][k-1], f[j][k]%=mod;
 	  	
 	cout<<f[n][m]<<endl;
 }
 signed main(){
 	while(cin>>n>>m,n||m){
 		sov();
 	}
 }