题目传送门
不会自己推,比赛现场找规律。
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn=2000+100;
const LL mod=1e9+7;
LL ans[maxn][maxn];
int main(){
for(int i=1;i<=2000;i++) ans[1][i]=i;
for(int i=2;i<=2000;i++) for(int j=1;j<=2000;j++) ans[i][j]=(ans[i][j-1]+ans[i-1][j]+1)%mod;
int n,m;
while(scanf("%d%d",&n,&m)==2){
printf("%lld\n",1LL*ans[n][m]*ans[n][m]%mod);
}
}