Submission #484054

#TimeUsernameProblemLanguageResultExecution timeMemory
484054SirCovidThe19thTents (JOI18_tents)C++17
100 / 100
73 ms70732 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
    int n, m; cin >> n >> m; long long dp[n + 1][m + 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] += (dp[i - 1][j - 1] + 1) * j * 4;
        if (j > 1) dp[i][j] += (dp[i - 1][j - 2] + 1) * j * (j - 1) / 2; 
        if (i > 1) dp[i][j] += (dp[i - 2][j - 1] + 1) * j * (i - 1); 
        dp[i][j] %= (int)1e9 + 7;
    }
    cout<<dp[n][m]<<endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...