![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
#include <iostream> #include <cstring> #define mod 1000000 using namespace std; int dp[110][110]; int DP(int x,int y){ if(dp[x][y]!=-1) return dp[x][y]; if(y==1) return dp[x][y]=1; int ret=0; for(int i=0;i<=x;i++){ ret+=DP(i,y-1); ret%=mod; } return dp[x][y]=ret%mod; } int main(){ int n,k; while(cin>>n>>k){ if(n==0&&k==0) break; memset(dp,-1,sizeof dp); cout<<DP(n,k)<<endl; } return 0; }