제출 #1349724

#제출 시각아이디문제언어결과실행 시간메모리
1349724jumpTents (JOI18_tents)C++20
100 / 100
42 ms71016 KiB
#include <bits/stdc++.h>
#define int long long
int dp[3010][3010];
int pref[3010][3010];
int pref2[3010][3010];
int n,m;
int MOD=1e9+7;
int c2(int a){
	return a*(a-1)/2;
}
signed main() {
	std::cin >> n >> m;
	int sum=0;
	for(int i=0;i<=3000;i++)pref[i][0]=1,pref[0][i]=1;
	for(int j=1;j<=3000;j++)pref[j][1]=pref[1][j]=j*4+1+c2(j);
	for(int i=2;i<=n;i++){
		for(int j=2;j<=m;j++){
			pref[i][j]=(pref[i-1][j]+pref[i-1][j-1]*j*4+pref[i-1][j-2]*c2(j)+pref[i-2][j-1]*(i-1)*j)%MOD;
		}
	}
	std::cout << pref[n][m]-1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...