Submission #362236

#TimeUsernameProblemLanguageResultExecution timeMemory
362236ritul_kr_singhTents (JOI18_tents)C++14
100 / 100
136 ms70764 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

int mod = 1000000007;

signed main(){
    ios_base::sync_with_stdio(false); cin.tie(nullptr);
    int n, m; cin >> n >> m;
    int dp[n+1][m+1];
    for(int i=0; i<=n; ++i){
        for(int j=0; j<=m; ++j){
            dp[i][j] = ((!i) || (!j));
        }
    }
    for(int i=1; i<=n; ++i){
        for(int j=1; j<=m; ++j){
            dp[i][j] += dp[i][j-1] + 4LL*i*dp[i-1][j-1];
            dp[i][j] += j>1 ? i*(j-1LL)*dp[i-1][j-2] : 0LL;
            dp[i][j] += i>1 ? ((i*(i-1LL))/2LL)*dp[i-2][j-1] : 0LL;
            dp[i][j] %= mod;
        }
    }
    cout << dp[n][m]-1LL << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...