Submission #1077646

#TimeUsernameProblemLanguageResultExecution timeMemory
1077646MC123Tents (JOI18_tents)C++14
0 / 100
1 ms5212 KiB
#include <bits/stdc++.h>
using namespace std;
int bruh=1e9+7;
bool d[3001][3001];
int mem[3001][3001];
int dp(int n,int m){
    if(n<0||m<0)return 0;
    if(n==0||m==0)return 1;
    if(d[n][m])return mem[n][m];
    d[n][m]=1;
    return mem[n][m]=(((dp(n-1,m)%bruh+(4*m*dp(n-1,m  -1))%bruh)%bruh+(dp(n-1,m-2)*m*(m-1)/2)%bruh)%bruh+(dp(n-2,m-1)*m*(n-1))%bruh)%bruh;
}
int main(){
    ios_base::sync_with_stdio (0);
    cin.tie(0);
    cout.tie(0);
    int n,m;
    cin>>n>>m;
    cout<<dp(n,m)-1 ;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...