Submission #1022267

#TimeUsernameProblemLanguageResultExecution timeMemory
1022267gvancakTents (JOI18_tents)C++11
100 / 100
94 ms70996 KiB
#include <bits/stdc++.h> #define f first #define s second #define pb push_back #define mp make_pair #define ll long long using namespace std; const ll mod=1e9+7; ll dp[3005][3005],n,m; int main() { ios_base::sync_with_stdio(false); cin.tie(0),cout.tie(0); cin>>n>>m; for (int i=0; i<=max(n,m); i++){ dp[i][0]=1; dp[0][i]=1; } for (int i=1; i<=n; i++) for (int j=1; j<=m; j++){ dp[i][j]=dp[i-1][j]+dp[i-1][j-1]*j*4%mod; if (i>1) dp[i][j]+=dp[i-2][j-1]*j*(i-1)%mod; if (j>1) dp[i][j]+=dp[i-1][j-2]*j*(j-1)/2%mod; dp[i][j]%=mod; } cout<<dp[n][m]-1<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...