还好比赛的时候不是我上
知道规律了还wa了3发
默认的初始化是真的不靠谱
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=2010;
const int mode=1e9+7;
ll dp[N][N];
int main()
{
memset(dp,0,sizeof(dp));
for(int i=1;i<N;i++)
{
dp[i][1]=dp[1][i]=i;
}
for(int i=2;i<N;i++)
{
for(int j=2;j<N;j++)
{
dp[i][j]=dp[i-1][j]+dp[i][j-1]+1;
dp[i][j]%=mode;
}
}
int n,m;
while(scanf("%d %d",&n,&m)!=EOF)
{
printf("%lld\n",dp[n][m]*dp[n][m]%mode);
}
return 0;
}