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...