Submission #521234

#TimeUsernameProblemLanguageResultExecution timeMemory
521234JasiekstrzTents (JOI18_tents)C++17
100 / 100
70 ms71004 KiB
#include<bits/stdc++.h> #define fi first #define se second using namespace std; const int N=3e3; const int MOD=1e9+7; long long dp[N+10][N+10]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n,m; cin>>n>>m; for(int i=0;i<=max(n,m);i++) dp[i][0]=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][j]+=4*j*dp[i-1][j-1]; if(j>=2) dp[i][j]+=((j*(j-1))/2)*dp[i-1][j-2]; if(i>=2) dp[i][j]+=j*(i-1)*dp[i-2][j-1]; dp[i][j]%=MOD; } } cout<<(dp[n][m]-1+MOD)%MOD<<"\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...