Submission #1161975

#TimeUsernameProblemLanguageResultExecution timeMemory
1161975minhpkTents (JOI18_tents)C++20
0 / 100
0 ms324 KiB
#include <bits/stdc++.h> #define int long long using namespace std; int a,b; int f[3005][3005]; int mod =1e9+7; int dp(int i,int j){ if (i<=0 || j<=0){ return 1; } if (f[i][j]!=-1){ return f[i][j]; } f[i][j]=0; f[i][j] = (f[i][j] + ((dp(i-1,j-2)*j*(j-1)/2)%mod + dp(i-2,j-1)*(i-1)*j)%mod )%mod; f[i][j] = (f[i][j]+ (dp(i-1,j-1)%mod + (dp(i-1,j-1)*4*j)%mod))%mod; return f[i][j]; } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> a >> b; for (int i=1;i<=a;i++){ for (int j=1;j<=b;j++){ f[i][j]=-1; } } cout << dp(a,b)-1; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...